# *******************************************************************************
# *
# *   Copyright (C) 1997-2000, International Business Machines
# *   Corporation and others.  All Rights Reserved.
# *
# *******************************************************************************
#
#       Name:         JIS X 0201 to Unicode
#       Unicode version:      1.1
#       Table version:        0.9
#
#       Authors:         Raghuram Viswanadha
#       Date:        8/20/2000
#       General Notes:
#            This file is created from JISX 208
#            mapping table from Unicode Consortium
#            (www.unicode.org).
#            Original authors:
#            Glenn     Adams <glenn@metis.com>
#            John H. Jenkins <John_Jenkins@taligent.com>
#
#

<code_set_name>           "JISX-201"
<char_name_mask>          "AXXXX"
<mb_cur_max>              1
<mb_cur_min>              1
<uconv_class>             "SBCS"
<subchar>             \x3F
#
CHARMAP
#
#
#ISO 10646      JISX201
#_________      _________
<U0020>         \x20        # SPACE
<U0021>         \x21        # EXCLAMATION MARK
<U0022>         \x22        # QUOTATION MARK
<U0023>         \x23        # NUMBER SIGN
<U0024>         \x24        # DOLLAR SIGN
<U0025>         \x25        # PERCENT SIGN
<U0026>         \x26        # AMPERSAND
<U0027>         \x27        # APOSTROPHE
<U0028>         \x28        # LEFT PARENTHESIS
<U0029>         \x29        # RIGHT PARENTHESIS
<U002A>         \x2A        # ASTERISK
<U002B>         \x2B        # PLUS SIGN
<U002C>         \x2C        # COMMA
<U002D>         \x2D        # HYPHEN-MINUS
<U002E>         \x2E        # FULL STOP
<U002F>         \x2F        # SOLIDUS
<U0030>         \x30        # DIGIT ZERO
<U0031>         \x31        # DIGIT ONE
<U0032>         \x32        # DIGIT TWO
<U0033>         \x33        # DIGIT THREE
<U0034>         \x34        # DIGIT FOUR
<U0035>         \x35        # DIGIT FIVE
<U0036>         \x36        # DIGIT SIX
<U0037>         \x37        # DIGIT SEVEN
<U0038>         \x38        # DIGIT EIGHT
<U0039>         \x39        # DIGIT NINE
<U003A>         \x3A        # COLON
<U003B>         \x3B        # SEMICOLON
<U003C>         \x3C        # LESS-THAN SIGN
<U003D>         \x3D        # EQUALS SIGN
<U003E>         \x3E        # GREATER-THAN SIGN
<U003F>         \x3F        # QUESTION MARK
<U0040>         \x40        # COMMERCIAL AT
<U0041>         \x41        # LATIN CAPITAL LETTER A
<U0042>         \x42        # LATIN CAPITAL LETTER B
<U0043>         \x43        # LATIN CAPITAL LETTER C
<U0044>         \x44        # LATIN CAPITAL LETTER D
<U0045>         \x45        # LATIN CAPITAL LETTER E
<U0046>         \x46        # LATIN CAPITAL LETTER F
<U0047>         \x47        # LATIN CAPITAL LETTER G
<U0048>         \x48        # LATIN CAPITAL LETTER H
<U0049>         \x49        # LATIN CAPITAL LETTER I
<U004A>         \x4A        # LATIN CAPITAL LETTER J
<U004B>         \x4B        # LATIN CAPITAL LETTER K
<U004C>         \x4C        # LATIN CAPITAL LETTER L
<U004D>         \x4D        # LATIN CAPITAL LETTER M
<U004E>         \x4E        # LATIN CAPITAL LETTER N
<U004F>         \x4F        # LATIN CAPITAL LETTER O
<U0050>         \x50        # LATIN CAPITAL LETTER P
<U0051>         \x51        # LATIN CAPITAL LETTER Q
<U0052>         \x52        # LATIN CAPITAL LETTER R
<U0053>         \x53        # LATIN CAPITAL LETTER S
<U0054>         \x54        # LATIN CAPITAL LETTER T
<U0055>         \x55        # LATIN CAPITAL LETTER U
<U0056>         \x56        # LATIN CAPITAL LETTER V
<U0057>         \x57        # LATIN CAPITAL LETTER W
<U0058>         \x58        # LATIN CAPITAL LETTER X
<U0059>         \x59        # LATIN CAPITAL LETTER Y
<U005A>         \x5A        # LATIN CAPITAL LETTER Z
<U005B>         \x5B        # LEFT SQUARE BRACKET
<U00A5>         \x5C        # YEN SIGN
<U005D>         \x5D        # RIGHT SQUARE BRACKET
<U005E>         \x5E        # CIRCUMFLEX ACCENT
<U005F>         \x5F        # LOW LINE
<U0060>         \x60        # GRAVE ACCENT
<U0061>         \x61        # LATIN SMALL LETTER A
<U0062>         \x62        # LATIN SMALL LETTER B
<U0063>         \x63        # LATIN SMALL LETTER C
<U0064>         \x64        # LATIN SMALL LETTER D
<U0065>         \x65        # LATIN SMALL LETTER E
<U0066>         \x66        # LATIN SMALL LETTER F
<U0067>         \x67        # LATIN SMALL LETTER G
<U0068>         \x68        # LATIN SMALL LETTER H
<U0069>         \x69        # LATIN SMALL LETTER I
<U006A>         \x6A        # LATIN SMALL LETTER J
<U006B>         \x6B        # LATIN SMALL LETTER K
<U006C>         \x6C        # LATIN SMALL LETTER L
<U006D>         \x6D        # LATIN SMALL LETTER M
<U006E>         \x6E        # LATIN SMALL LETTER N
<U006F>         \x6F        # LATIN SMALL LETTER O
<U0070>         \x70        # LATIN SMALL LETTER P
<U0071>         \x71        # LATIN SMALL LETTER Q
<U0072>         \x72        # LATIN SMALL LETTER R
<U0073>         \x73        # LATIN SMALL LETTER S
<U0074>         \x74        # LATIN SMALL LETTER T
<U0075>         \x75        # LATIN SMALL LETTER U
<U0076>         \x76        # LATIN SMALL LETTER V
<U0077>         \x77        # LATIN SMALL LETTER W
<U0078>         \x78        # LATIN SMALL LETTER X
<U0079>         \x79        # LATIN SMALL LETTER Y
<U007A>         \x7A        # LATIN SMALL LETTER Z
<U007B>         \x7B        # LEFT CURLY BRACKET
<U007C>         \x7C        # VERTICAL LINE
<U007D>         \x7D        # RIGHT CURLY BRACKET
<U203E>         \x7E        # OVERLINE
<UFF61>         \xA1        # HALFWIDTH IDEOGRAPHIC FULL STOP
<UFF62>         \xA2        # HALFWIDTH LEFT CORNER BRACKET
<UFF63>         \xA3        # HALFWIDTH RIGHT CORNER BRACKET
<UFF64>         \xA4        # HALFWIDTH IDEOGRAPHIC COMMA
<UFF65>         \xA5        # HALFWIDTH KATAKANA MIDDLE DOT
<UFF66>         \xA6        # HALFWIDTH KATAKANA LETTER WO
<UFF67>         \xA7        # HALFWIDTH KATAKANA LETTER SMALL A
<UFF68>         \xA8        # HALFWIDTH KATAKANA LETTER SMALL I
<UFF69>         \xA9        # HALFWIDTH KATAKANA LETTER SMALL U
<UFF6A>         \xAA        # HALFWIDTH KATAKANA LETTER SMALL E
<UFF6B>         \xAB        # HALFWIDTH KATAKANA LETTER SMALL O
<UFF6C>         \xAC        # HALFWIDTH KATAKANA LETTER SMALL YA
<UFF6D>         \xAD        # HALFWIDTH KATAKANA LETTER SMALL YU
<UFF6E>         \xAE        # HALFWIDTH KATAKANA LETTER SMALL YO
<UFF6F>         \xAF        # HALFWIDTH KATAKANA LETTER SMALL TU
<UFF70>         \xB0        # HALFWIDTH KATAKANA-HIRAGANA PROLONGED         SOUND MARK
<UFF71>         \xB1        # HALFWIDTH KATAKANA LETTER A
<UFF72>         \xB2        # HALFWIDTH KATAKANA LETTER I
<UFF73>         \xB3        # HALFWIDTH KATAKANA LETTER U
<UFF74>         \xB4        # HALFWIDTH KATAKANA LETTER E
<UFF75>         \xB5        # HALFWIDTH KATAKANA LETTER O
<UFF76>         \xB6        # HALFWIDTH KATAKANA LETTER KA
<UFF77>         \xB7        # HALFWIDTH KATAKANA LETTER KI
<UFF78>         \xB8        # HALFWIDTH KATAKANA LETTER KU
<UFF79>         \xB9        # HALFWIDTH KATAKANA LETTER KE
<UFF7A>         \xBA        # HALFWIDTH KATAKANA LETTER KO
<UFF7B>         \xBB        # HALFWIDTH KATAKANA LETTER SA
<UFF7C>         \xBC        # HALFWIDTH KATAKANA LETTER SI
<UFF7D>         \xBD        # HALFWIDTH KATAKANA LETTER SU
<UFF7E>         \xBE        # HALFWIDTH KATAKANA LETTER SE
<UFF7F>         \xBF        # HALFWIDTH KATAKANA LETTER SO
<UFF80>         \xC0        # HALFWIDTH KATAKANA LETTER TA
<UFF81>         \xC1        # HALFWIDTH KATAKANA LETTER TI
<UFF82>         \xC2        # HALFWIDTH KATAKANA LETTER TU
<UFF83>         \xC3        # HALFWIDTH KATAKANA LETTER TE
<UFF84>         \xC4        # HALFWIDTH KATAKANA LETTER TO
<UFF85>         \xC5        # HALFWIDTH KATAKANA LETTER NA
<UFF86>         \xC6        # HALFWIDTH KATAKANA LETTER NI
<UFF87>         \xC7        # HALFWIDTH KATAKANA LETTER NU
<UFF88>         \xC8        # HALFWIDTH KATAKANA LETTER NE
<UFF89>         \xC9        # HALFWIDTH KATAKANA LETTER NO
<UFF8A>         \xCA        # HALFWIDTH KATAKANA LETTER HA
<UFF8B>         \xCB        # HALFWIDTH KATAKANA LETTER HI
<UFF8C>         \xCC        # HALFWIDTH KATAKANA LETTER HU
<UFF8D>         \xCD        # HALFWIDTH KATAKANA LETTER HE
<UFF8E>         \xCE        # HALFWIDTH KATAKANA LETTER HO
<UFF8F>         \xCF        # HALFWIDTH KATAKANA LETTER MA
<UFF90>         \xD0        # HALFWIDTH KATAKANA LETTER MI
<UFF91>         \xD1        # HALFWIDTH KATAKANA LETTER MU
<UFF92>         \xD2        # HALFWIDTH KATAKANA LETTER ME
<UFF93>         \xD3        # HALFWIDTH KATAKANA LETTER MO
<UFF94>         \xD4        # HALFWIDTH KATAKANA LETTER YA
<UFF95>         \xD5        # HALFWIDTH KATAKANA LETTER YU
<UFF96>         \xD6        # HALFWIDTH KATAKANA LETTER YO
<UFF97>         \xD7        # HALFWIDTH KATAKANA LETTER RA
<UFF98>         \xD8        # HALFWIDTH KATAKANA LETTER RI
<UFF99>         \xD9        # HALFWIDTH KATAKANA LETTER RU
<UFF9A>         \xDA        # HALFWIDTH KATAKANA LETTER RE
<UFF9B>         \xDB        # HALFWIDTH KATAKANA LETTER RO
<UFF9C>         \xDC        # HALFWIDTH KATAKANA LETTER WA
<UFF9D>         \xDD        # HALFWIDTH KATAKANA LETTER N
<UFF9E>         \xDE        # HALFWIDTH KATAKANA VOICED SOUND MARK
<UFF9F>         \xDF        # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
#
END CHARMAP
#
#________________________________________________________________________
