# ***************************************************************************
# *
# *   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 34B00501.RPMAP100 and 050134B0.TPMAP100
#
<code_set_name>               "ibm-1281_P100-1996"
<char_name_mask>              "AXXXX"
<mb_cur_max>                  1
<mb_cur_min>                  1
<uconv_class>                 "SBCS"
<subchar>                     \x1A
<icu:charsetFamily>           "ASCII"
<icu:alias>                   "ibm-1281_VPUA"

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
<U00A0> \xCA |0
<U00A1> \xC1 |0
<U00A2> \xA2 |0
<U00A3> \xA3 |0
<U00A5> \xB4 |0
<U00A7> \xA4 |0
<U00A8> \xAC |0
<U00A9> \xA9 |0
<U00AA> \xBB |0
<U00AB> \xC7 |0
<U00AC> \xC2 |0
<U00AE> \xA8 |0
<U00AF> \xF8 |0
<U00B0> \xA1 |0
<U00B1> \xB1 |0
<U00B4> \xAB |0
<U00B5> \xB5 |0
<U00B6> \xA6 |0
<U00B7> \xE1 |0
<U00B8> \xFC |0
<U00BA> \xBC |0
<U00BB> \xC8 |0
<U00BF> \xC0 |0
<U00C0> \xCB |0
<U00C1> \xE7 |0
<U00C2> \xE5 |0
<U00C3> \xCC |0
<U00C4> \x80 |0
<U00C5> \x81 |0
<U00C6> \xAE |0
<U00C7> \x82 |0
<U00C8> \xE9 |0
<U00C9> \x83 |0
<U00CA> \xE6 |0
<U00CB> \xE8 |0
<U00CC> \xED |0
<U00CD> \xEA |0
<U00CE> \xEB |0
<U00CF> \xEC |0
<U00D1> \x84 |0
<U00D2> \xF1 |0
<U00D3> \xEE |0
<U00D4> \xEF |0
<U00D5> \xCD |0
<U00D6> \x85 |0
<U00D8> \xAF |0
<U00D9> \xF4 |0
<U00DA> \xF2 |0
<U00DB> \xF3 |0
<U00DC> \x86 |0
<U00DF> \xA7 |0
<U00E0> \x88 |0
<U00E1> \x87 |0
<U00E2> \x89 |0
<U00E3> \x8B |0
<U00E4> \x8A |0
<U00E5> \x8C |0
<U00E6> \xBE |0
<U00E7> \x8D |0
<U00E8> \x8F |0
<U00E9> \x8E |0
<U00EA> \x90 |0
<U00EB> \x91 |0
<U00EC> \x93 |0
<U00ED> \x92 |0
<U00EE> \x94 |0
<U00EF> \x95 |0
<U00F1> \x96 |0
<U00F2> \x98 |0
<U00F3> \x97 |0
<U00F4> \x99 |0
<U00F5> \x9B |0
<U00F6> \x9A |0
<U00F7> \xD6 |0
<U00F8> \xBF |0
<U00F9> \x9D |0
<U00FA> \x9C |0
<U00FB> \x9E |0
<U00FC> \x9F |0
<U00FF> \xD8 |0
<U011E> \xDA |0
<U011F> \xDB |0
<U0130> \xDC |0
<U0131> \xDD |0
<U0152> \xCE |0
<U0153> \xCF |0
<U015E> \xDE |0
<U015F> \xDF |0
<U0178> \xD9 |0
<U0192> \xC4 |0
<U02C6> \xF6 |0
<U02C7> \xFF |0
<U02D8> \xF9 |0
<U02D9> \xFA |0
<U02DA> \xFB |0
<U02DB> \xFE |0
<U02DC> \xF7 |0
<U02DD> \xFD |0
<U03C0> \xB9 |0
<U2013> \xD0 |0
<U2014> \xD1 |0
<U2018> \xD4 |0
<U2019> \xD5 |0
<U201A> \xE2 |0
<U201C> \xD2 |0
<U201D> \xD3 |0
<U201E> \xE3 |0
<U2020> \xA0 |0
<U2021> \xE0 |0
<U2022> \xA5 |0
<U2026> \xC9 |0
<U2030> \xE4 |0
<U2122> \xAA |0
<U2126> \xBD |0
<U2202> \xB6 |0
<U2206> \xC6 |0
<U220F> \xB8 |0
<U2211> \xB7 |0
<U221A> \xC3 |0
<U221E> \xB0 |0
<U222B> \xBA |0
<U2248> \xC5 |0
<U2260> \xAD |0
<U2264> \xB2 |0
<U2265> \xB3 |0
<U25CA> \xD7 |0
<UF8FF> \xF0 |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
