diff options
Diffstat (limited to 'usr/src/lib/iconv_modules/utf-8/common/binarytables/srcs/UTF-8+CP874.src')
-rw-r--r-- | usr/src/lib/iconv_modules/utf-8/common/binarytables/srcs/UTF-8+CP874.src | 335 |
1 files changed, 335 insertions, 0 deletions
diff --git a/usr/src/lib/iconv_modules/utf-8/common/binarytables/srcs/UTF-8+CP874.src b/usr/src/lib/iconv_modules/utf-8/common/binarytables/srcs/UTF-8+CP874.src new file mode 100644 index 0000000000..f3f88e907b --- /dev/null +++ b/usr/src/lib/iconv_modules/utf-8/common/binarytables/srcs/UTF-8+CP874.src @@ -0,0 +1,335 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ +/* + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ +/* + * COPYRIGHT AND PERMISSION NOTICE + * + * Copyright (c) 1991-2005 Unicode, Inc. All rights reserved. Distributed + * under the Terms of Use in http://www.unicode.org/copyright.html. + * + * This file has been modified by Sun Microsystems, Inc. + * + */ + +#include <sys/errno.h> +utf8%system { + direction { + @condition { + inputsize >= 1; + @between 0X0...0X7F; + } @map { + 0x00 0x00 // U+0000 + 0x01 0x01 // U+0001 + 0x02 0x02 // U+0002 + 0x03 0x03 // U+0003 + 0x04 0x04 // U+0004 + 0x05 0x05 // U+0005 + 0x06 0x06 // U+0006 + 0x07 0x07 // U+0007 + 0x08 0x08 // U+0008 + 0x09 0x09 // U+0009 + 0x0A 0x0A // U+000a + 0x0B 0x0B // U+000b + 0x0C 0x0C // U+000c + 0x0D 0x0D // U+000d + 0x0E 0x0E // U+000e + 0x0F 0x0F // U+000f + 0x10 0x10 // U+0010 + 0x11 0x11 // U+0011 + 0x12 0x12 // U+0012 + 0x13 0x13 // U+0013 + 0x14 0x14 // U+0014 + 0x15 0x15 // U+0015 + 0x16 0x16 // U+0016 + 0x17 0x17 // U+0017 + 0x18 0x18 // U+0018 + 0x19 0x19 // U+0019 + 0x1A 0x1A // U+001a + 0x1B 0x1B // U+001b + 0x1C 0x1C // U+001c + 0x1D 0x1D // U+001d + 0x1E 0x1E // U+001e + 0x1F 0x1F // U+001f + 0x20 0x20 // U+0020 + 0x21 0x21 // U+0021 + 0x22 0x22 // U+0022 + 0x23 0x23 // U+0023 + 0x24 0x24 // U+0024 + 0x25 0x25 // U+0025 + 0x26 0x26 // U+0026 + 0x27 0x27 // U+0027 + 0x28 0x28 // U+0028 + 0x29 0x29 // U+0029 + 0x2A 0x2A // U+002a + 0x2B 0x2B // U+002b + 0x2C 0x2C // U+002c + 0x2D 0x2D // U+002d + 0x2E 0x2E // U+002e + 0x2F 0x2F // U+002f + 0x30 0x30 // U+0030 + 0x31 0x31 // U+0031 + 0x32 0x32 // U+0032 + 0x33 0x33 // U+0033 + 0x34 0x34 // U+0034 + 0x35 0x35 // U+0035 + 0x36 0x36 // U+0036 + 0x37 0x37 // U+0037 + 0x38 0x38 // U+0038 + 0x39 0x39 // U+0039 + 0x3A 0x3A // U+003a + 0x3B 0x3B // U+003b + 0x3C 0x3C // U+003c + 0x3D 0x3D // U+003d + 0x3E 0x3E // U+003e + 0x3F 0x3F // U+003f + 0x40 0x40 // U+0040 + 0x41 0x41 // U+0041 + 0x42 0x42 // U+0042 + 0x43 0x43 // U+0043 + 0x44 0x44 // U+0044 + 0x45 0x45 // U+0045 + 0x46 0x46 // U+0046 + 0x47 0x47 // U+0047 + 0x48 0x48 // U+0048 + 0x49 0x49 // U+0049 + 0x4A 0x4A // U+004a + 0x4B 0x4B // U+004b + 0x4C 0x4C // U+004c + 0x4D 0x4D // U+004d + 0x4E 0x4E // U+004e + 0x4F 0x4F // U+004f + 0x50 0x50 // U+0050 + 0x51 0x51 // U+0051 + 0x52 0x52 // U+0052 + 0x53 0x53 // U+0053 + 0x54 0x54 // U+0054 + 0x55 0x55 // U+0055 + 0x56 0x56 // U+0056 + 0x57 0x57 // U+0057 + 0x58 0x58 // U+0058 + 0x59 0x59 // U+0059 + 0x5A 0x5A // U+005a + 0x5B 0x5B // U+005b + 0x5C 0x5C // U+005c + 0x5D 0x5D // U+005d + 0x5E 0x5E // U+005e + 0x5F 0x5F // U+005f + 0x60 0x60 // U+0060 + 0x61 0x61 // U+0061 + 0x62 0x62 // U+0062 + 0x63 0x63 // U+0063 + 0x64 0x64 // U+0064 + 0x65 0x65 // U+0065 + 0x66 0x66 // U+0066 + 0x67 0x67 // U+0067 + 0x68 0x68 // U+0068 + 0x69 0x69 // U+0069 + 0x6A 0x6A // U+006a + 0x6B 0x6B // U+006b + 0x6C 0x6C // U+006c + 0x6D 0x6D // U+006d + 0x6E 0x6E // U+006e + 0x6F 0x6F // U+006f + 0x70 0x70 // U+0070 + 0x71 0x71 // U+0071 + 0x72 0x72 // U+0072 + 0x73 0x73 // U+0073 + 0x74 0x74 // U+0074 + 0x75 0x75 // U+0075 + 0x76 0x76 // U+0076 + 0x77 0x77 // U+0077 + 0x78 0x78 // U+0078 + 0x79 0x79 // U+0079 + 0x7A 0x7A // U+007a + 0x7B 0x7B // U+007b + 0x7C 0x7C // U+007c + 0x7D 0x7D // U+007d + 0x7E 0x7E // U+007e + 0x7F 0x7F // U+007f + default 0x3f + }; + @condition { + inputsize <= 1; + @between 0XC0...0XFD; + } @operation { + error EINVAL; + }; + @condition { + inputsize >= 2; + @between 0XC080...0XDFBF; + } @map { + 0xC2A0 0xA0 // U+00a0 + default 0x3f + }; + @condition { + inputsize <= 2; + @between 0XE0...0XFD; + } @operation { + error EINVAL; + }; + @condition { + inputsize >= 3; + @between 0XE08080...0XECBFBF, 0XED8080...0XED9FBF, 0XEE8080...0XEFBFBF; + } @map { + 0xE0B881 0xA1 // U+0e01 + 0xE0B882 0xA2 // U+0e02 + 0xE0B883 0xA3 // U+0e03 + 0xE0B884 0xA4 // U+0e04 + 0xE0B885 0xA5 // U+0e05 + 0xE0B886 0xA6 // U+0e06 + 0xE0B887 0xA7 // U+0e07 + 0xE0B888 0xA8 // U+0e08 + 0xE0B889 0xA9 // U+0e09 + 0xE0B88A 0xAA // U+0e0a + 0xE0B88B 0xAB // U+0e0b + 0xE0B88C 0xAC // U+0e0c + 0xE0B88D 0xAD // U+0e0d + 0xE0B88E 0xAE // U+0e0e + 0xE0B88F 0xAF // U+0e0f + 0xE0B890 0xB0 // U+0e10 + 0xE0B891 0xB1 // U+0e11 + 0xE0B892 0xB2 // U+0e12 + 0xE0B893 0xB3 // U+0e13 + 0xE0B894 0xB4 // U+0e14 + 0xE0B895 0xB5 // U+0e15 + 0xE0B896 0xB6 // U+0e16 + 0xE0B897 0xB7 // U+0e17 + 0xE0B898 0xB8 // U+0e18 + 0xE0B899 0xB9 // U+0e19 + 0xE0B89A 0xBA // U+0e1a + 0xE0B89B 0xBB // U+0e1b + 0xE0B89C 0xBC // U+0e1c + 0xE0B89D 0xBD // U+0e1d + 0xE0B89E 0xBE // U+0e1e + 0xE0B89F 0xBF // U+0e1f + 0xE0B8A0 0xC0 // U+0e20 + 0xE0B8A1 0xC1 // U+0e21 + 0xE0B8A2 0xC2 // U+0e22 + 0xE0B8A3 0xC3 // U+0e23 + 0xE0B8A4 0xC4 // U+0e24 + 0xE0B8A5 0xC5 // U+0e25 + 0xE0B8A6 0xC6 // U+0e26 + 0xE0B8A7 0xC7 // U+0e27 + 0xE0B8A8 0xC8 // U+0e28 + 0xE0B8A9 0xC9 // U+0e29 + 0xE0B8AA 0xCA // U+0e2a + 0xE0B8AB 0xCB // U+0e2b + 0xE0B8AC 0xCC // U+0e2c + 0xE0B8AD 0xCD // U+0e2d + 0xE0B8AE 0xCE // U+0e2e + 0xE0B8AF 0xCF // U+0e2f + 0xE0B8B0 0xD0 // U+0e30 + 0xE0B8B1 0xD1 // U+0e31 + 0xE0B8B2 0xD2 // U+0e32 + 0xE0B8B3 0xD3 // U+0e33 + 0xE0B8B4 0xD4 // U+0e34 + 0xE0B8B5 0xD5 // U+0e35 + 0xE0B8B6 0xD6 // U+0e36 + 0xE0B8B7 0xD7 // U+0e37 + 0xE0B8B8 0xD8 // U+0e38 + 0xE0B8B9 0xD9 // U+0e39 + 0xE0B8BA 0xDA // U+0e3a + 0xE0B8BF 0xDF // U+0e3f + 0xE0B980 0xE0 // U+0e40 + 0xE0B981 0xE1 // U+0e41 + 0xE0B982 0xE2 // U+0e42 + 0xE0B983 0xE3 // U+0e43 + 0xE0B984 0xE4 // U+0e44 + 0xE0B985 0xE5 // U+0e45 + 0xE0B986 0xE6 // U+0e46 + 0xE0B987 0xE7 // U+0e47 + 0xE0B988 0xE8 // U+0e48 + 0xE0B989 0xE9 // U+0e49 + 0xE0B98A 0xEA // U+0e4a + 0xE0B98B 0xEB // U+0e4b + 0xE0B98C 0xEC // U+0e4c + 0xE0B98D 0xED // U+0e4d + 0xE0B98E 0xEE // U+0e4e + 0xE0B98F 0xEF // U+0e4f + 0xE0B990 0xF0 // U+0e50 + 0xE0B991 0xF1 // U+0e51 + 0xE0B992 0xF2 // U+0e52 + 0xE0B993 0xF3 // U+0e53 + 0xE0B994 0xF4 // U+0e54 + 0xE0B995 0xF5 // U+0e55 + 0xE0B996 0xF6 // U+0e56 + 0xE0B997 0xF7 // U+0e57 + 0xE0B998 0xF8 // U+0e58 + 0xE0B999 0xF9 // U+0e59 + 0xE0B99A 0xFA // U+0e5a + 0xE0B99B 0xFB // U+0e5b + 0xE28093 0x96 // U+2013 + 0xE28094 0x97 // U+2014 + 0xE28098 0x91 // U+2018 + 0xE28099 0x92 // U+2019 + 0xE2809C 0x93 // U+201c + 0xE2809D 0x94 // U+201d + 0xE280A2 0x95 // U+2022 + 0xE280A6 0x85 // U+2026 + 0xE282AC 0x80 // U+20ac + 0xefbfbe error + 0xefbfbf error + default 0x3f + }; // for last @map syntax + @condition { + inputsize <= 3; + @between 0XF0...0XFD; + } @operation { + error EINVAL; + }; + @condition { + inputsize >= 4; + @between 0XF0808080...0XF7BFBFBF; + } @operation { + output = 0x3f; + discard 4; + }; + @condition { + inputsize <= 4; + @between 0XF8...0XFD; + } @operation { + error EINVAL; + }; + @condition { + inputsize >= 5; + @between 0XF880808080...0XFBBFBFBFBF; + } @operation { + output = 0x3f; + discard 5; + }; + @condition { + inputsize <= 5; + @between 0XFC...0XFD; + } @operation { + error EINVAL; + }; + @condition { + inputsize >= 6; + @between 0XFC8080808080...0XFDBFBFBFBFBF; + } @operation { + output = 0x3f; + discard 6; + }; + }; // for direction +} // for conversion name |