# ***************************************************************************
# *
# *   Copyright (C) 1995-2002, International Business Machines
# *   Corporation and others.  All Rights Reserved.
# *
# ***************************************************************************
#
# File created by rptp2ucm (compiled on Dec  3 2002)
# from source files 44B014E3.RPMAP100 and 14E344B0.TPMAP100
#
<code_set_name>               "ibm-5347_P100-1998"
<char_name_mask>              "AXXXX"
<mb_cur_max>                  1
<mb_cur_min>                  1
<uconv_class>                 "SBCS"
<subchar>                     \x1A
<icu:charsetFamily>           "ASCII"
<icu:alias>                   "ibm-5347_STD"

CHARMAP
<U0000> \x00 |0
<U0001> \x01 |0
<U0002> \x02 |0
<U0003> \x03 |0
<U0004> \x04 |0
<U0005> \x05 |0
<U0006> \x06 |0
<U0007> \x07 |0
<U0008> \x08 |0
<U0009> \x09 |0
<U000A> \x0A |0
<U000B> \x0B |0
<U000C> \x0C |0
<U000D> \x0D |0
<U000E> \x0E |0
<U000F> \x0F |0
<U0010> \x10 |0
<U0011> \x11 |0
<U0012> \x12 |0
<U0013> \x13 |0
<U0014> \x14 |0
<U0015> \x15 |0
<U0016> \x16 |0
<U0017> \x17 |0
<U0018> \x18 |0
<U0019> \x19 |0
<U001A> \x1A |0
<U001B> \x1B |0
<U001C> \x1C |0
<U001D> \x1D |0
<U001E> \x1E |0
<U001F> \x1F |0
<U0020> \x20 |0
<U0021> \x21 |0
<U0022> \x22 |0
<U0023> \x23 |0
<U0024> \x24 |0
<U0025> \x25 |0
<U0026> \x26 |0
<U0027> \x27 |0
<U0028> \x28 |0
<U0029> \x29 |0
<U002A> \x2A |0
<U002B> \x2B |0
<U002C> \x2C |0
<U002D> \x2D |0
<U002E> \x2E |0
<U002F> \x2F |0
<U0030> \x30 |0
<U0031> \x31 |0
<U0032> \x32 |0
<U0033> \x33 |0
<U0034> \x34 |0
<U0035> \x35 |0
<U0036> \x36 |0
<U0037> \x37 |0
<U0038> \x38 |0
<U0039> \x39 |0
<U003A> \x3A |0
<U003B> \x3B |0
<U003C> \x3C |0
<U003D> \x3D |0
<U003E> \x3E |0
<U003F> \x3F |0
<U0040> \x40 |0
<U0041> \x41 |0
<U0042> \x42 |0
<U0043> \x43 |0
<U0044> \x44 |0
<U0045> \x45 |0
<U0046> \x46 |0
<U0047> \x47 |0
<U0048> \x48 |0
<U0049> \x49 |0
<U004A> \x4A |0
<U004B> \x4B |0
<U004C> \x4C |0
<U004D> \x4D |0
<U004E> \x4E |0
<U004F> \x4F |0
<U0050> \x50 |0
<U0051> \x51 |0
<U0052> \x52 |0
<U0053> \x53 |0
<U0054> \x54 |0
<U0055> \x55 |0
<U0056> \x56 |0
<U0057> \x57 |0
<U0058> \x58 |0
<U0059> \x59 |0
<U005A> \x5A |0
<U005B> \x5B |0
<U005C> \x5C |0
<U005D> \x5D |0
<U005E> \x5E |0
<U005F> \x5F |0
<U0060> \x60 |0
<U0061> \x61 |0
<U0062> \x62 |0
<U0063> \x63 |0
<U0064> \x64 |0
<U0065> \x65 |0
<U0066> \x66 |0
<U0067> \x67 |0
<U0068> \x68 |0
<U0069> \x69 |0
<U006A> \x6A |0
<U006B> \x6B |0
<U006C> \x6C |0
<U006D> \x6D |0
<U006E> \x6E |0
<U006F> \x6F |0
<U0070> \x70 |0
<U0071> \x71 |0
<U0072> \x72 |0
<U0073> \x73 |0
<U0074> \x74 |0
<U0075> \x75 |0
<U0076> \x76 |0
<U0077> \x77 |0
<U0078> \x78 |0
<U0079> \x79 |0
<U007A> \x7A |0
<U007B> \x7B |0
<U007C> \x7C |0
<U007D> \x7D |0
<U007E> \x7E |0
<U007F> \x7F |0
<U0098> \x98 |0
<U00A0> \xA0 |0
<U00A4> \xA4 |0
<U00A6> \xA6 |0
<U00A7> \xA7 |0
<U00A9> \xA9 |0
<U00AB> \xAB |0
<U00AC> \xAC |0
<U00AD> \xAD |0
<U00AE> \xAE |0
<U00B0> \xB0 |0
<U00B1> \xB1 |0
<U00B5> \xB5 |0
<U00B6> \xB6 |0
<U00B7> \xB7 |0
<U00BB> \xBB |0
<U0401> \xA8 |0
<U0402> \x80 |0
<U0403> \x81 |0
<U0404> \xAA |0
<U0405> \xBD |0
<U0406> \xB2 |0
<U0407> \xAF |0
<U0408> \xA3 |0
<U0409> \x8A |0
<U040A> \x8C |0
<U040B> \x8E |0
<U040C> \x8D |0
<U040E> \xA1 |0
<U040F> \x8F |0
<U0410> \xC0 |0
<U0411> \xC1 |0
<U0412> \xC2 |0
<U0413> \xC3 |0
<U0414> \xC4 |0
<U0415> \xC5 |0
<U0416> \xC6 |0
<U0417> \xC7 |0
<U0418> \xC8 |0
<U0419> \xC9 |0
<U041A> \xCA |0
<U041B> \xCB |0
<U041C> \xCC |0
<U041D> \xCD |0
<U041E> \xCE |0
<U041F> \xCF |0
<U0420> \xD0 |0
<U0421> \xD1 |0
<U0422> \xD2 |0
<U0423> \xD3 |0
<U0424> \xD4 |0
<U0425> \xD5 |0
<U0426> \xD6 |0
<U0427> \xD7 |0
<U0428> \xD8 |0
<U0429> \xD9 |0
<U042A> \xDA |0
<U042B> \xDB |0
<U042C> \xDC |0
<U042D> \xDD |0
<U042E> \xDE |0
<U042F> \xDF |0
<U0430> \xE0 |0
<U0431> \xE1 |0
<U0432> \xE2 |0
<U0433> \xE3 |0
<U0434> \xE4 |0
<U0435> \xE5 |0
<U0436> \xE6 |0
<U0437> \xE7 |0
<U0438> \xE8 |0
<U0439> \xE9 |0
<U043A> \xEA |0
<U043B> \xEB |0
<U043C> \xEC |0
<U043D> \xED |0
<U043E> \xEE |0
<U043F> \xEF |0
<U0440> \xF0 |0
<U0441> \xF1 |0
<U0442> \xF2 |0
<U0443> \xF3 |0
<U0444> \xF4 |0
<U0445> \xF5 |0
<U0446> \xF6 |0
<U0447> \xF7 |0
<U0448> \xF8 |0
<U0449> \xF9 |0
<U044A> \xFA |0
<U044B> \xFB |0
<U044C> \xFC |0
<U044D> \xFD |0
<U044E> \xFE |0
<U044F> \xFF |0
<U0451> \xB8 |0
<U0452> \x90 |0
<U0453> \x83 |0
<U0454> \xBA |0
<U0455> \xBE |0
<U0456> \xB3 |0
<U0457> \xBF |0
<U0458> \xBC |0
<U0459> \x9A |0
<U045A> \x9C |0
<U045B> \x9E |0
<U045C> \x9D |0
<U045E> \xA2 |0
<U045F> \x9F |0
<U0490> \xA5 |0
<U0491> \xB4 |0
<U2013> \x96 |0
<U2014> \x97 |0
<U2018> \x91 |0
<U2019> \x92 |0
<U201A> \x82 |0
<U201C> \x93 |0
<U201D> \x94 |0
<U201E> \x84 |0
<U2020> \x86 |0
<U2021> \x87 |0
<U2022> \x95 |0
<U2026> \x85 |0
<U2030> \x89 |0
<U2039> \x8B |0
<U203A> \x9B |0
<U20AC> \x88 |0
<U2116> \xB9 |0
<U2122> \x99 |0
<UFF01> \x21 |1
<UFF02> \x22 |1
<UFF03> \x23 |1
<UFF04> \x24 |1
<UFF05> \x25 |1
<UFF06> \x26 |1
<UFF07> \x27 |1
<UFF08> \x28 |1
<UFF09> \x29 |1
<UFF0A> \x2A |1
<UFF0B> \x2B |1
<UFF0C> \x2C |1
<UFF0D> \x2D |1
<UFF0E> \x2E |1
<UFF0F> \x2F |1
<UFF10> \x30 |1
<UFF11> \x31 |1
<UFF12> \x32 |1
<UFF13> \x33 |1
<UFF14> \x34 |1
<UFF15> \x35 |1
<UFF16> \x36 |1
<UFF17> \x37 |1
<UFF18> \x38 |1
<UFF19> \x39 |1
<UFF1A> \x3A |1
<UFF1B> \x3B |1
<UFF1C> \x3C |1
<UFF1D> \x3D |1
<UFF1E> \x3E |1
<UFF1F> \x3F |1
<UFF20> \x40 |1
<UFF21> \x41 |1
<UFF22> \x42 |1
<UFF23> \x43 |1
<UFF24> \x44 |1
<UFF25> \x45 |1
<UFF26> \x46 |1
<UFF27> \x47 |1
<UFF28> \x48 |1
<UFF29> \x49 |1
<UFF2A> \x4A |1
<UFF2B> \x4B |1
<UFF2C> \x4C |1
<UFF2D> \x4D |1
<UFF2E> \x4E |1
<UFF2F> \x4F |1
<UFF30> \x50 |1
<UFF31> \x51 |1
<UFF32> \x52 |1
<UFF33> \x53 |1
<UFF34> \x54 |1
<UFF35> \x55 |1
<UFF36> \x56 |1
<UFF37> \x57 |1
<UFF38> \x58 |1
<UFF39> \x59 |1
<UFF3A> \x5A |1
<UFF3B> \x5B |1
<UFF3C> \x5C |1
<UFF3D> \x5D |1
<UFF3E> \x5E |1
<UFF3F> \x5F |1
<UFF40> \x60 |1
<UFF41> \x61 |1
<UFF42> \x62 |1
<UFF43> \x63 |1
<UFF44> \x64 |1
<UFF45> \x65 |1
<UFF46> \x66 |1
<UFF47> \x67 |1
<UFF48> \x68 |1
<UFF49> \x69 |1
<UFF4A> \x6A |1
<UFF4B> \x6B |1
<UFF4C> \x6C |1
<UFF4D> \x6D |1
<UFF4E> \x6E |1
<UFF4F> \x6F |1
<UFF50> \x70 |1
<UFF51> \x71 |1
<UFF52> \x72 |1
<UFF53> \x73 |1
<UFF54> \x74 |1
<UFF55> \x75 |1
<UFF56> \x76 |1
<UFF57> \x77 |1
<UFF58> \x78 |1
<UFF59> \x79 |1
<UFF5A> \x7A |1
<UFF5B> \x7B |1
<UFF5C> \x7C |1
<UFF5D> \x7D |1
<UFF5E> \x7E |1
END CHARMAP
