# ***************************************************************************
# *
# *   Copyright (C) 1995-2007, International Business Machines
# *   Corporation and others.  All Rights Reserved.
# *
# ***************************************************************************
#
# File created by rptp2ucm (compiled on Jan 14 2004)
# from source files 44B00490.RPMAP100 and 049044B0.TPMAP100
#
<code_set_name>               "ibm-1168_P100-2002"
<char_name_mask>              "AXXXX"
<mb_cur_max>                  1
<mb_cur_min>                  1
<uconv_class>                 "SBCS"
<icu:charsetFamily>           "ASCII"
<icu:alias>                   "ibm-1168_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
<U00A0> \x9A |0
<U00A9> \xBF |0
<U00B0> \x9C |0
<U00B2> \x9D |0
<U00B7> \x9E |0
<U00F7> \x9F |0
<U0401> \xB3 |0
<U0404> \xB4 |0
<U0406> \xB6 |0
<U0407> \xB7 |0
<U0410> \xE1 |0
<U0411> \xE2 |0
<U0412> \xF7 |0
<U0413> \xE7 |0
<U0414> \xE4 |0
<U0415> \xE5 |0
<U0416> \xF6 |0
<U0417> \xFA |0
<U0418> \xE9 |0
<U0419> \xEA |0
<U041A> \xEB |0
<U041B> \xEC |0
<U041C> \xED |0
<U041D> \xEE |0
<U041E> \xEF |0
<U041F> \xF0 |0
<U0420> \xF2 |0
<U0421> \xF3 |0
<U0422> \xF4 |0
<U0423> \xF5 |0
<U0424> \xE6 |0
<U0425> \xE8 |0
<U0426> \xE3 |0
<U0427> \xFE |0
<U0428> \xFB |0
<U0429> \xFD |0
<U042A> \xFF |0
<U042B> \xF9 |0
<U042C> \xF8 |0
<U042D> \xFC |0
<U042E> \xE0 |0
<U042F> \xF1 |0
<U0430> \xC1 |0
<U0431> \xC2 |0
<U0432> \xD7 |0
<U0433> \xC7 |0
<U0434> \xC4 |0
<U0435> \xC5 |0
<U0436> \xD6 |0
<U0437> \xDA |0
<U0438> \xC9 |0
<U0439> \xCA |0
<U043A> \xCB |0
<U043B> \xCC |0
<U043C> \xCD |0
<U043D> \xCE |0
<U043E> \xCF |0
<U043F> \xD0 |0
<U0440> \xD2 |0
<U0441> \xD3 |0
<U0442> \xD4 |0
<U0443> \xD5 |0
<U0444> \xC6 |0
<U0445> \xC8 |0
<U0446> \xC3 |0
<U0447> \xDE |0
<U0448> \xDB |0
<U0449> \xDD |0
<U044A> \xDF |0
<U044B> \xD9 |0
<U044C> \xD8 |0
<U044D> \xDC |0
<U044E> \xC0 |0
<U044F> \xD1 |0
<U0451> \xA3 |0
<U0454> \xA4 |0
<U0456> \xA6 |0
<U0457> \xA7 |0
<U0490> \xBD |0
<U0491> \xAD |0
<U2219> \x95 |0
<U221A> \x96 |0
<U2248> \x97 |0
<U2264> \x98 |0
<U2265> \x99 |0
<U2320> \x93 |0
<U2321> \x9B |0
<U2500> \x80 |0
<U2502> \x81 |0
<U250C> \x82 |0
<U2510> \x83 |0
<U2514> \x84 |0
<U2518> \x85 |0
<U251C> \x86 |0
<U2524> \x87 |0
<U252C> \x88 |0
<U2534> \x89 |0
<U253C> \x8A |0
<U2550> \xA0 |0
<U2551> \xA1 |0
<U2552> \xA2 |0
<U2554> \xA5 |0
<U2557> \xA8 |0
<U2558> \xA9 |0
<U2559> \xAA |0
<U255A> \xAB |0
<U255B> \xAC |0
<U255D> \xAE |0
<U255E> \xAF |0
<U255F> \xB0 |0
<U2560> \xB1 |0
<U2561> \xB2 |0
<U2563> \xB5 |0
<U2566> \xB8 |0
<U2567> \xB9 |0
<U2568> \xBA |0
<U2569> \xBB |0
<U256A> \xBC |0
<U256C> \xBE |0
<U2580> \x8B |0
<U2584> \x8C |0
<U2588> \x8D |0
<U258C> \x8E |0
<U2590> \x8F |0
<U2591> \x90 |0
<U2592> \x91 |0
<U2593> \x92 |0
<U25A0> \x94 |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
<UFFE8> \x81 |1
<UFFED> \x94 |1
END CHARMAP
