# ***************************************************************************
# *
# *   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 34B004FB.RPMAP100 and 04FB34B0.TPMAP100
#
<code_set_name>               "ibm-1275_P100-1995"
<char_name_mask>              "AXXXX"
<mb_cur_max>                  1
<mb_cur_min>                  1
<uconv_class>                 "SBCS"
<subchar>                     \x1A
<icu:charsetFamily>           "ASCII"
<icu:alias>                   "ibm-1275_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
<U00A4> \xDB |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
<U0131> \xF5 |0
<U0152> \xCE |0
<U0153> \xCF |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
<U2039> \xDC |0
<U203A> \xDD |0
<U2044> \xDA |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
<U2318> \x11 |1
<U25CA> \xD7 |0
<U2666> \x13 |1
<U2713> \x12 |1
<UF8FF> \xF0 |0
<UFB01> \xDE |0
<UFB02> \xDF |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
