# *******************************************************************************
# *
# *   Copyright (C) 1995-2000, International Business Machines
# *   Corporation and others.  All Rights Reserved.
# *
# *******************************************************************************
#
# File created on Mon Nov 13 08:50:41 2000
#
# File created by dtcocm version 3.00
# from source files 34B00122.RPMAP100 and 012234B0.TPMAP100
#
# Table Version : 1.01
#
<code_set_name>               "IBM-290"
<char_name_mask>              "AXXXX"
<mb_cur_max>                  1
<mb_cur_min>                  1
<uconv_class>                 "SBCS"
<subchar>                     \x3F
#
CHARMAP
#
#
#ISO 10646      IBM-290
#_________      _________
<U0000> \x00 |0
<U0001> \x01 |0
<U0002> \x02 |0
<U0003> \x03 |0
<U0004> \x37 |0
<U0005> \x2D |0
<U0006> \x2E |0
<U0007> \x2F |0
<U0008> \x16 |0
<U0009> \x05 |0
<U000A> \x25 |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> \x3C |0
<U0015> \x3D |0
<U0016> \x32 |0
<U0017> \x26 |0
<U0018> \x18 |0
<U0019> \x19 |0
<U001A> \x3F |0
<U001B> \x27 |0
<U001C> \x1C |0
<U001D> \x1D |0
<U001E> \x1E |0
<U001F> \x1F |0
<U0020> \x40 |0
<U0021> \x5A |0
<U0022> \x7F |0
<U0023> \x7B |0
<U0024> \xE0 |0
<U0025> \x6C |0
<U0026> \x50 |0
<U0027> \x7D |0
<U0028> \x4D |0
<U0029> \x5D |0
<U002A> \x5C |0
<U002B> \x4E |0
<U002C> \x6B |0
<U002D> \x60 |0
<U002E> \x4B |0
<U002F> \x61 |0
<U0030> \xF0 |0
<U0031> \xF1 |0
<U0032> \xF2 |0
<U0033> \xF3 |0
<U0034> \xF4 |0
<U0035> \xF5 |0
<U0036> \xF6 |0
<U0037> \xF7 |0
<U0038> \xF8 |0
<U0039> \xF9 |0
<U003A> \x7A |0
<U003B> \x5E |0
<U003C> \x4C |0
<U003D> \x7E |0
<U003E> \x6E |0
<U003F> \x6F |0
<U0040> \x7C |0
<U0041> \xC1 |0
<U0042> \xC2 |0
<U0043> \xC3 |0
<U0044> \xC4 |0
<U0045> \xC5 |0
<U0046> \xC6 |0
<U0047> \xC7 |0
<U0048> \xC8 |0
<U0049> \xC9 |0
<U004A> \xD1 |0
<U004B> \xD2 |0
<U004C> \xD3 |0
<U004D> \xD4 |0
<U004E> \xD5 |0
<U004F> \xD6 |0
<U0050> \xD7 |0
<U0051> \xD8 |0
<U0052> \xD9 |0
<U0053> \xE2 |0
<U0054> \xE3 |0
<U0055> \xE4 |0
<U0056> \xE5 |0
<U0057> \xE6 |0
<U0058> \xE7 |0
<U0059> \xE8 |0
<U005A> \xE9 |0
<U005B> \x70 |0
<U005C> \xB2 |0
<U005D> \x80 |0
<U005E> \xB0 |0
<U005F> \x6D |0
<U0060> \x79 |0
<U0061> \x62 |0
<U0062> \x63 |0
<U0063> \x64 |0
<U0064> \x65 |0
<U0065> \x66 |0
<U0066> \x67 |0
<U0067> \x68 |0
<U0068> \x69 |0
<U0069> \x71 |0
<U006A> \x72 |0
<U006B> \x73 |0
<U006C> \x74 |0
<U006D> \x75 |0
<U006E> \x76 |0
<U006F> \x77 |0
<U0070> \x78 |0
<U0071> \x8B |0
<U0072> \x9B |0
<U0073> \xAB |0
<U0074> \xB3 |0
<U0075> \xB4 |0
<U0076> \xB5 |0
<U0077> \xB6 |0
<U0078> \xB7 |0
<U0079> \xB8 |0
<U007A> \xB9 |0
<U007B> \xC0 |0
<U007C> \x4F |0
<U007D> \xD0 |0
<U007E> \xA0 |0
<U007F> \x07 |0
<U0080> \x20 |0
<U0081> \x21 |0
<U0082> \x22 |0
<U0083> \x23 |0
<U0084> \x24 |0
<U0085> \x15 |0
<U0086> \x06 |0
<U0087> \x17 |0
<U0088> \x28 |0
<U0089> \x29 |0
<U008A> \x2A |0
<U008B> \x2B |0
<U008C> \x2C |0
<U008D> \x09 |0
<U008E> \x0A |0
<U008F> \x1B |0
<U0090> \x30 |0
<U0091> \x31 |0
<U0092> \x1A |0
<U0093> \x33 |0
<U0094> \x34 |0
<U0095> \x35 |0
<U0096> \x36 |0
<U0097> \x08 |0
<U0098> \x38 |0
<U0099> \x39 |0
<U009A> \x3A |0
<U009B> \x3B |0
<U009C> \x04 |0
<U009D> \x14 |0
<U009E> \x3E |0
<U009F> \xFF |0
<U00A2> \xB1 |0
<U00A3> \x4A |0
<U00A5> \x5B |0
<U00AC> \x5F |0
<U203E> \xA1 |0
<UFF01> \x5A |1
<UFF02> \x7F |1
<UFF03> \x7B |1
<UFF04> \xE0 |1
<UFF05> \x6C |1
<UFF06> \x50 |1
<UFF07> \x7D |1
<UFF08> \x4D |1
<UFF09> \x5D |1
<UFF0A> \x5C |1
<UFF0B> \x4E |1
<UFF0C> \x6B |1
<UFF0D> \x60 |1
<UFF0E> \x4B |1
<UFF0F> \x61 |1
<UFF10> \xF0 |1
<UFF11> \xF1 |1
<UFF12> \xF2 |1
<UFF13> \xF3 |1
<UFF14> \xF4 |1
<UFF15> \xF5 |1
<UFF16> \xF6 |1
<UFF17> \xF7 |1
<UFF18> \xF8 |1
<UFF19> \xF9 |1
<UFF1A> \x7A |1
<UFF1B> \x5E |1
<UFF1C> \x4C |1
<UFF1D> \x7E |1
<UFF1E> \x6E |1
<UFF1F> \x6F |1
<UFF20> \x7C |1
<UFF21> \xC1 |1
<UFF22> \xC2 |1
<UFF23> \xC3 |1
<UFF24> \xC4 |1
<UFF25> \xC5 |1
<UFF26> \xC6 |1
<UFF27> \xC7 |1
<UFF28> \xC8 |1
<UFF29> \xC9 |1
<UFF2A> \xD1 |1
<UFF2B> \xD2 |1
<UFF2C> \xD3 |1
<UFF2D> \xD4 |1
<UFF2E> \xD5 |1
<UFF2F> \xD6 |1
<UFF30> \xD7 |1
<UFF31> \xD8 |1
<UFF32> \xD9 |1
<UFF33> \xE2 |1
<UFF34> \xE3 |1
<UFF35> \xE4 |1
<UFF36> \xE5 |1
<UFF37> \xE6 |1
<UFF38> \xE7 |1
<UFF39> \xE8 |1
<UFF3A> \xE9 |1
<UFF3B> \x70 |1
<UFF3C> \xB2 |1
<UFF3D> \x80 |1
<UFF3E> \xB0 |1
<UFF3F> \x6D |1
<UFF40> \x79 |1
<UFF41> \x62 |1
<UFF42> \x63 |1
<UFF43> \x64 |1
<UFF44> \x65 |1
<UFF45> \x66 |1
<UFF46> \x67 |1
<UFF47> \x68 |1
<UFF48> \x69 |1
<UFF49> \x71 |1
<UFF4A> \x72 |1
<UFF4B> \x73 |1
<UFF4C> \x74 |1
<UFF4D> \x75 |1
<UFF4E> \x76 |1
<UFF4F> \x77 |1
<UFF50> \x78 |1
<UFF51> \x8B |1
<UFF52> \x9B |1
<UFF53> \xAB |1
<UFF54> \xB3 |1
<UFF55> \xB4 |1
<UFF56> \xB5 |1
<UFF57> \xB6 |1
<UFF58> \xB7 |1
<UFF59> \xB8 |1
<UFF5A> \xB9 |1
<UFF5B> \xC0 |1
<UFF5C> \x4F |1
<UFF5D> \xD0 |1
<UFF5E> \xA0 |1
<UFF61> \x41 |0
<UFF62> \x42 |0
<UFF63> \x43 |0
<UFF64> \x44 |0
<UFF65> \x45 |0
<UFF66> \x46 |0
<UFF67> \x47 |0
<UFF68> \x48 |0
<UFF69> \x49 |0
<UFF6A> \x51 |0
<UFF6B> \x52 |0
<UFF6C> \x53 |0
<UFF6D> \x54 |0
<UFF6E> \x55 |0
<UFF6F> \x56 |0
<UFF70> \x58 |0
<UFF71> \x81 |0
<UFF72> \x82 |0
<UFF73> \x83 |0
<UFF74> \x84 |0
<UFF75> \x85 |0
<UFF76> \x86 |0
<UFF77> \x87 |0
<UFF78> \x88 |0
<UFF79> \x89 |0
<UFF7A> \x8A |0
<UFF7B> \x8C |0
<UFF7C> \x8D |0
<UFF7D> \x8E |0
<UFF7E> \x8F |0
<UFF7F> \x90 |0
<UFF80> \x91 |0
<UFF81> \x92 |0
<UFF82> \x93 |0
<UFF83> \x94 |0
<UFF84> \x95 |0
<UFF85> \x96 |0
<UFF86> \x97 |0
<UFF87> \x98 |0
<UFF88> \x99 |0
<UFF89> \x9A |0
<UFF8A> \x9D |0
<UFF8B> \x9E |0
<UFF8C> \x9F |0
<UFF8D> \xA2 |0
<UFF8E> \xA3 |0
<UFF8F> \xA4 |0
<UFF90> \xA5 |0
<UFF91> \xA6 |0
<UFF92> \xA7 |0
<UFF93> \xA8 |0
<UFF94> \xA9 |0
<UFF95> \xAA |0
<UFF96> \xAC |0
<UFF97> \xAD |0
<UFF98> \xAE |0
<UFF99> \xAF |0
<UFF9A> \xBA |0
<UFF9B> \xBB |0
<UFF9C> \xBC |0
<UFF9D> \xBD |0
<UFF9E> \xBE |0
<UFF9F> \xBF |0
END CHARMAP
