# *******************************************************************************
# *
# *   Copyright (C) 1995-2000, International Business Machines
# *   Corporation and others.  All Rights Reserved.
# *
# *******************************************************************************
#
# File created on Mon Nov 13 09:28:03 2000
#
# File created by dtcocm version 3.00
# from source files 34B00365.RPMAP100 and 036534B0.TPMAP100
#
# Table Version : 1.01
#
<code_set_name>               "IBM-869"
<char_name_mask>              "AXXXX"
<mb_cur_max>                  1
<mb_cur_min>                  1
<uconv_class>                 "SBCS"
<subchar>                     \x7F
#
CHARMAP
#
#
#ISO 10646      IBM-869
#_________      _________
<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> \x7F |0
<U001B> \x1B |0
<U001C> \x1A |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> \x1C |0
<U00A0> \xFF |0
<U00A3> \x9C |0
<U00A6> \x8A |0
<U00A7> \xF5 |0
<U00A8> \xF9 |0
<U00A9> \x97 |0
<U00AB> \xAE |0
<U00AC> \x89 |0
<U00AD> \xF0 |0
<U00B0> \xF8 |0
<U00B1> \xF1 |0
<U00B2> \x99 |0
<U00B3> \x9A |0
<U00B4> \xEF |0
<U00B6> \x14 |1
<U00B7> \x88 |1
<U00BB> \xAF |0
<U00BD> \xAB |0
<U0385> \xF7 |0
<U0386> \x86 |0
<U0387> \x88 |0
<U0388> \x8D |0
<U0389> \x8F |0
<U038A> \x90 |0
<U038C> \x92 |0
<U038E> \x95 |0
<U038F> \x98 |0
<U0390> \xA1 |0
<U0391> \xA4 |0
<U0392> \xA5 |0
<U0393> \xA6 |0
<U0394> \xA7 |0
<U0395> \xA8 |0
<U0396> \xA9 |0
<U0397> \xAA |0
<U0398> \xAC |0
<U0399> \xAD |0
<U039A> \xB5 |0
<U039B> \xB6 |0
<U039C> \xB7 |0
<U039D> \xB8 |0
<U039E> \xBD |0
<U039F> \xBE |0
<U03A0> \xC6 |0
<U03A1> \xC7 |0
<U03A3> \xCF |0
<U03A4> \xD0 |0
<U03A5> \xD1 |0
<U03A6> \xD2 |0
<U03A7> \xD3 |0
<U03A8> \xD4 |0
<U03A9> \xD5 |0
<U03AA> \x91 |0
<U03AB> \x96 |0
<U03AC> \x9B |0
<U03AD> \x9D |0
<U03AE> \x9E |0
<U03AF> \x9F |0
<U03B0> \xFC |0
<U03B1> \xD6 |0
<U03B2> \xD7 |0
<U03B3> \xD8 |0
<U03B4> \xDD |0
<U03B5> \xDE |0
<U03B6> \xE0 |0
<U03B7> \xE1 |0
<U03B8> \xE2 |0
<U03B9> \xE3 |0
<U03BA> \xE4 |0
<U03BB> \xE5 |0
<U03BC> \xE6 |0
<U03BD> \xE7 |0
<U03BE> \xE8 |0
<U03BF> \xE9 |0
<U03C0> \xEA |0
<U03C1> \xEB |0
<U03C2> \xED |0
<U03C3> \xEC |0
<U03C4> \xEE |0
<U03C5> \xF2 |0
<U03C6> \xF3 |0
<U03C7> \xF4 |0
<U03C8> \xF6 |0
<U03C9> \xFA |0
<U03CA> \xA0 |0
<U03CB> \xFB |0
<U03CC> \xA2 |0
<U03CD> \xA3 |0
<U03CE> \xFD |0
<U03D5> \xF3 |1
<U2015> \x8E |0
<U2018> \x8B |0
<U2019> \x8C |0
<U2022> \x07 |1
<U203C> \x13 |1
<U2190> \x1B |1
<U2191> \x18 |1
<U2192> \x1A |1
<U2193> \x19 |1
<U2194> \x1D |1
<U2195> \x12 |1
<U21A8> \x17 |1
<U221F> \x1C |1
<U2302> \x7F |2
<U2500> \xC4 |0
<U2502> \xB3 |0
<U250C> \xDA |0
<U2510> \xBF |0
<U2514> \xC0 |0
<U2518> \xD9 |0
<U251C> \xC3 |0
<U2524> \xB4 |0
<U252C> \xC2 |0
<U2534> \xC1 |0
<U253C> \xC5 |0
<U2550> \xCD |0
<U2551> \xBA |0
<U2554> \xC9 |0
<U2557> \xBB |0
<U255A> \xC8 |0
<U255D> \xBC |0
<U2560> \xCC |0
<U2563> \xB9 |0
<U2566> \xCB |0
<U2569> \xCA |0
<U256C> \xCE |0
<U2580> \xDF |0
<U2584> \xDC |0
<U2588> \xDB |0
<U2591> \xB0 |0
<U2592> \xB1 |0
<U2593> \xB2 |0
<U25A0> \xFE |0
<U25AC> \x16 |1
<U25B2> \x1E |1
<U25BA> \x10 |1
<U25BC> \x1F |1
<U25C4> \x11 |1
<U25CB> \x09 |1
<U25D8> \x08 |1
<U25D9> \x0A |1
<U263A> \x01 |1
<U263B> \x02 |1
<U263C> \x0F |1
<U2640> \x0C |1
<U2642> \x0B |1
<U2660> \x06 |1
<U2663> \x05 |1
<U2665> \x03 |1
<U2666> \x04 |1
<U266A> \x0D |1
<U266B> \x0E |1
<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> \xB3 |1
<UFFE9> \x1B |1
<UFFEA> \x18 |1
<UFFEB> \x1A |1
<UFFEC> \x19 |1
<UFFED> \xFE |1
<UFFEE> \x09 |1
END CHARMAP
