# Copyright (C) 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html
#
#	Name:             ISO/IEC 8859-10:1998 to Unicode
#	Unicode version:  3.0
#	Table version:    1.1
#	Table format:     Format A
#	Date:             1999 October 11
#	Authors:          Ken Whistler <kenw@sybase.com>
#
#	Copyright (c) 1999 Unicode, Inc.  All Rights reserved.
#       Copyright (C) 2002-2005, International Business Machines
#           Corporation and others.  All Rights Reserved.
#
#	This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
#	No claims are made as to fitness for any particular purpose.  No
#	warranties of any kind are expressed or implied.  The recipient
#	agrees to determine applicability of information provided.  If this
#	file has been provided on optical media by Unicode, Inc., the sole
#	remedy for any claim will be exchange of defective media within 90
#	days of receipt.
#
#	Unicode, Inc. hereby grants the right to freely use the information
#	supplied in this file in the creation of products supporting the
#	Unicode Standard, and to make copies of this file in any form for
#	internal or external distribution as long as this notice remains
#	attached.
#
#	General notes:
#
#	This table contains the data the Unicode Consortium has on how
#       ISO/IEC 8859-10:1998 characters map into Unicode.
#
#	Format:  The ICU UCM format
#
#	Version history
#	1.0 version new.
#       1.1 corrected mistake in mapping of 0xA4
#
#	Updated versions of this file may be found in:
#		<ftp://ftp.unicode.org/Public/MAPPINGS/>
#
#	Any comments or problems, contact <errata@unicode.org>
#	Please note that <errata@unicode.org> is an archival address;
#	notices will be checked, but do not expect an immediate response.
#
<code_set_name>               "iso-8859_10-1998"
<mb_cur_max>                  1
<mb_cur_min>                  1
<uconv_class>                 "SBCS"
<subchar>                     \x1A
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
<U0080> \x80 |0
<U0081> \x81 |0
<U0082> \x82 |0
<U0083> \x83 |0
<U0084> \x84 |0
<U0085> \x85 |0
<U0086> \x86 |0
<U0087> \x87 |0
<U0088> \x88 |0
<U0089> \x89 |0
<U008A> \x8A |0
<U008B> \x8B |0
<U008C> \x8C |0
<U008D> \x8D |0
<U008E> \x8E |0
<U008F> \x8F |0
<U0090> \x90 |0
<U0091> \x91 |0
<U0092> \x92 |0
<U0093> \x93 |0
<U0094> \x94 |0
<U0095> \x95 |0
<U0096> \x96 |0
<U0097> \x97 |0
<U0098> \x98 |0
<U0099> \x99 |0
<U009A> \x9A |0
<U009B> \x9B |0
<U009C> \x9C |0
<U009D> \x9D |0
<U009E> \x9E |0
<U009F> \x9F |0
<U00A0> \xA0 |0
<U00A7> \xA7 |0
<U00AD> \xAD |0
<U00B0> \xB0 |0
<U00B7> \xB7 |0
<U00C1> \xC1 |0
<U00C2> \xC2 |0
<U00C3> \xC3 |0
<U00C4> \xC4 |0
<U00C5> \xC5 |0
<U00C6> \xC6 |0
<U00C9> \xC9 |0
<U00CB> \xCB |0
<U00CD> \xCD |0
<U00CE> \xCE |0
<U00CF> \xCF |0
<U00D0> \xD0 |0
<U00D3> \xD3 |0
<U00D4> \xD4 |0
<U00D5> \xD5 |0
<U00D6> \xD6 |0
<U00D8> \xD8 |0
<U00DA> \xDA |0
<U00DB> \xDB |0
<U00DC> \xDC |0
<U00DD> \xDD |0
<U00DE> \xDE |0
<U00DF> \xDF |0
<U00E1> \xE1 |0
<U00E2> \xE2 |0
<U00E3> \xE3 |0
<U00E4> \xE4 |0
<U00E5> \xE5 |0
<U00E6> \xE6 |0
<U00E9> \xE9 |0
<U00EB> \xEB |0
<U00ED> \xED |0
<U00EE> \xEE |0
<U00EF> \xEF |0
<U00F0> \xF0 |0
<U00F3> \xF3 |0
<U00F4> \xF4 |0
<U00F5> \xF5 |0
<U00F6> \xF6 |0
<U00F8> \xF8 |0
<U00FA> \xFA |0
<U00FB> \xFB |0
<U00FC> \xFC |0
<U00FD> \xFD |0
<U00FE> \xFE |0
<U0100> \xC0 |0
<U0101> \xE0 |0
<U0104> \xA1 |0
<U0105> \xB1 |0
<U010C> \xC8 |0
<U010D> \xE8 |0
<U0110> \xA9 |0
<U0111> \xB9 |0
<U0112> \xA2 |0
<U0113> \xB2 |0
<U0116> \xCC |0
<U0117> \xEC |0
<U0118> \xCA |0
<U0119> \xEA |0
<U0122> \xA3 |0
<U0123> \xB3 |0
<U0128> \xA5 |0
<U0129> \xB5 |0
<U012A> \xA4 |0
<U012B> \xB4 |0
<U012E> \xC7 |0
<U012F> \xE7 |0
<U0136> \xA6 |0
<U0137> \xB6 |0
<U0138> \xFF |0
<U013B> \xA8 |0
<U013C> \xB8 |0
<U0145> \xD1 |0
<U0146> \xF1 |0
<U014A> \xAF |0
<U014B> \xBF |0
<U014C> \xD2 |0
<U014D> \xF2 |0
<U0160> \xAA |0
<U0161> \xBA |0
<U0166> \xAB |0
<U0167> \xBB |0
<U0168> \xD7 |0
<U0169> \xF7 |0
<U016A> \xAE |0
<U016B> \xBE |0
<U0172> \xD9 |0
<U0173> \xF9 |0
<U017D> \xAC |0
<U017E> \xBC |0
<U2015> \xBD |0
END CHARMAP
