1191983Sweongyo/* 2191983Sweongyo * linux/fs/nls/mac-iceland.c 3191983Sweongyo * 4191983Sweongyo * Charset maciceland translation tables. 5191983Sweongyo * Generated automatically from the Unicode and charset 6191983Sweongyo * tables from the Unicode Organization (www.unicode.org). 7191983Sweongyo * The Unicode to charset table has only exact mappings. 8191983Sweongyo */ 9191983Sweongyo 10191983Sweongyo/* 11191983Sweongyo * COPYRIGHT AND PERMISSION NOTICE 12191983Sweongyo * 13191983Sweongyo * Copyright 1991-2012 Unicode, Inc. All rights reserved. Distributed under 14191983Sweongyo * the Terms of Use in http://www.unicode.org/copyright.html. 15191983Sweongyo * 16191983Sweongyo * Permission is hereby granted, free of charge, to any person obtaining a 17191983Sweongyo * copy of the Unicode data files and any associated documentation (the "Data 18191983Sweongyo * Files") or Unicode software and any associated documentation (the 19191983Sweongyo * "Software") to deal in the Data Files or Software without restriction, 20191983Sweongyo * including without limitation the rights to use, copy, modify, merge, 21191983Sweongyo * publish, distribute, and/or sell copies of the Data Files or Software, and 22191983Sweongyo * to permit persons to whom the Data Files or Software are furnished to do 23191983Sweongyo * so, provided that (a) the above copyright notice(s) and this permission 24191983Sweongyo * notice appear with all copies of the Data Files or Software, (b) both the 25191983Sweongyo * above copyright notice(s) and this permission notice appear in associated 26191983Sweongyo * documentation, and (c) there is clear notice in each modified Data File or 27191983Sweongyo * in the Software as well as in the documentation associated with the Data 28191983Sweongyo * File(s) or Software that the data or software has been modified. 29191983Sweongyo * 30191983Sweongyo * THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 31191983Sweongyo * KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 32191983Sweongyo * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF 33191983Sweongyo * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS 34191983Sweongyo * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT 35191983Sweongyo * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF 36191983Sweongyo * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 37191983Sweongyo * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 38191983Sweongyo * PERFORMANCE OF THE DATA FILES OR SOFTWARE. 39191983Sweongyo * 40191983Sweongyo * Except as contained in this notice, the name of a copyright holder shall 41191983Sweongyo * not be used in advertising or otherwise to promote the sale, use or other 42191983Sweongyo * dealings in these Data Files or Software without prior written 43191983Sweongyo * authorization of the copyright holder. 44191983Sweongyo */ 45191983Sweongyo 46191983Sweongyo#include <linux/module.h> 47191983Sweongyo#include <linux/kernel.h> 48191983Sweongyo#include <linux/string.h> 49191983Sweongyo#include <linux/nls.h> 50191983Sweongyo#include <linux/errno.h> 51191983Sweongyo 52191983Sweongyostatic const wchar_t charset2uni[256] = { 53191983Sweongyo /* 0x00 */ 54191983Sweongyo 0x0000, 0x0001, 0x0002, 0x0003, 55191983Sweongyo 0x0004, 0x0005, 0x0006, 0x0007, 56191983Sweongyo 0x0008, 0x0009, 0x000a, 0x000b, 57191983Sweongyo 0x000c, 0x000d, 0x000e, 0x000f, 58191983Sweongyo /* 0x10 */ 59191983Sweongyo 0x0010, 0x0011, 0x0012, 0x0013, 60191983Sweongyo 0x0014, 0x0015, 0x0016, 0x0017, 61191983Sweongyo 0x0018, 0x0019, 0x001a, 0x001b, 62191983Sweongyo 0x001c, 0x001d, 0x001e, 0x001f, 63191983Sweongyo /* 0x20 */ 64191983Sweongyo 0x0020, 0x0021, 0x0022, 0x0023, 65191983Sweongyo 0x0024, 0x0025, 0x0026, 0x0027, 66191983Sweongyo 0x0028, 0x0029, 0x002a, 0x002b, 67191983Sweongyo 0x002c, 0x002d, 0x002e, 0x002f, 68191983Sweongyo /* 0x30 */ 69191983Sweongyo 0x0030, 0x0031, 0x0032, 0x0033, 70191983Sweongyo 0x0034, 0x0035, 0x0036, 0x0037, 71191983Sweongyo 0x0038, 0x0039, 0x003a, 0x003b, 72191983Sweongyo 0x003c, 0x003d, 0x003e, 0x003f, 73191983Sweongyo /* 0x40 */ 74191983Sweongyo 0x0040, 0x0041, 0x0042, 0x0043, 75191983Sweongyo 0x0044, 0x0045, 0x0046, 0x0047, 76191983Sweongyo 0x0048, 0x0049, 0x004a, 0x004b, 77191983Sweongyo 0x004c, 0x004d, 0x004e, 0x004f, 78191983Sweongyo /* 0x50 */ 79191983Sweongyo 0x0050, 0x0051, 0x0052, 0x0053, 80191983Sweongyo 0x0054, 0x0055, 0x0056, 0x0057, 81191983Sweongyo 0x0058, 0x0059, 0x005a, 0x005b, 82191983Sweongyo 0x005c, 0x005d, 0x005e, 0x005f, 83191983Sweongyo /* 0x60 */ 84191983Sweongyo 0x0060, 0x0061, 0x0062, 0x0063, 85191983Sweongyo 0x0064, 0x0065, 0x0066, 0x0067, 86191983Sweongyo 0x0068, 0x0069, 0x006a, 0x006b, 87191983Sweongyo 0x006c, 0x006d, 0x006e, 0x006f, 88191983Sweongyo /* 0x70 */ 89191983Sweongyo 0x0070, 0x0071, 0x0072, 0x0073, 90191983Sweongyo 0x0074, 0x0075, 0x0076, 0x0077, 91191983Sweongyo 0x0078, 0x0079, 0x007a, 0x007b, 92191983Sweongyo 0x007c, 0x007d, 0x007e, 0x007f, 93191983Sweongyo /* 0x80 */ 94191983Sweongyo 0x00c4, 0x00c5, 0x00c7, 0x00c9, 95191983Sweongyo 0x00d1, 0x00d6, 0x00dc, 0x00e1, 96191983Sweongyo 0x00e0, 0x00e2, 0x00e4, 0x00e3, 97191983Sweongyo 0x00e5, 0x00e7, 0x00e9, 0x00e8, 98191983Sweongyo /* 0x90 */ 99191983Sweongyo 0x00ea, 0x00eb, 0x00ed, 0x00ec, 100191983Sweongyo 0x00ee, 0x00ef, 0x00f1, 0x00f3, 101191983Sweongyo 0x00f2, 0x00f4, 0x00f6, 0x00f5, 102191983Sweongyo 0x00fa, 0x00f9, 0x00fb, 0x00fc, 103191983Sweongyo /* 0xa0 */ 104191983Sweongyo 0x00dd, 0x00b0, 0x00a2, 0x00a3, 105191983Sweongyo 0x00a7, 0x2022, 0x00b6, 0x00df, 106191983Sweongyo 0x00ae, 0x00a9, 0x2122, 0x00b4, 107191983Sweongyo 0x00a8, 0x2260, 0x00c6, 0x00d8, 108191983Sweongyo /* 0xb0 */ 109191983Sweongyo 0x221e, 0x00b1, 0x2264, 0x2265, 110191983Sweongyo 0x00a5, 0x00b5, 0x2202, 0x2211, 111191983Sweongyo 0x220f, 0x03c0, 0x222b, 0x00aa, 112191983Sweongyo 0x00ba, 0x03a9, 0x00e6, 0x00f8, 113191983Sweongyo /* 0xc0 */ 114191983Sweongyo 0x00bf, 0x00a1, 0x00ac, 0x221a, 115191983Sweongyo 0x0192, 0x2248, 0x2206, 0x00ab, 116191983Sweongyo 0x00bb, 0x2026, 0x00a0, 0x00c0, 117191983Sweongyo 0x00c3, 0x00d5, 0x0152, 0x0153, 118191983Sweongyo /* 0xd0 */ 119191983Sweongyo 0x2013, 0x2014, 0x201c, 0x201d, 120191983Sweongyo 0x2018, 0x2019, 0x00f7, 0x25ca, 121191983Sweongyo 0x00ff, 0x0178, 0x2044, 0x20ac, 122191983Sweongyo 0x00d0, 0x00f0, 0x00de, 0x00fe, 123191983Sweongyo /* 0xe0 */ 124191983Sweongyo 0x00fd, 0x00b7, 0x201a, 0x201e, 125191983Sweongyo 0x2030, 0x00c2, 0x00ca, 0x00c1, 126191983Sweongyo 0x00cb, 0x00c8, 0x00cd, 0x00ce, 127191983Sweongyo 0x00cf, 0x00cc, 0x00d3, 0x00d4, 128191983Sweongyo /* 0xf0 */ 129191983Sweongyo 0xf8ff, 0x00d2, 0x00da, 0x00db, 130191983Sweongyo 0x00d9, 0x0131, 0x02c6, 0x02dc, 131191983Sweongyo 0x00af, 0x02d8, 0x02d9, 0x02da, 132191983Sweongyo 0x00b8, 0x02dd, 0x02db, 0x02c7, 133191983Sweongyo}; 134191983Sweongyo 135191983Sweongyostatic const unsigned char page00[256] = { 136191983Sweongyo 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, /* 0x00-0x07 */ 137191983Sweongyo 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08-0x0f */ 138191983Sweongyo 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, /* 0x10-0x17 */ 139191983Sweongyo 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18-0x1f */ 140191983Sweongyo 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, /* 0x20-0x27 */ 141191983Sweongyo 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, /* 0x28-0x2f */ 142191983Sweongyo 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, /* 0x30-0x37 */ 143191983Sweongyo 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, /* 0x38-0x3f */ 144191983Sweongyo 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, /* 0x40-0x47 */ 145191983Sweongyo 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, /* 0x48-0x4f */ 146191983Sweongyo 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, /* 0x50-0x57 */ 147191983Sweongyo 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, /* 0x58-0x5f */ 148191983Sweongyo 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, /* 0x60-0x67 */ 149191983Sweongyo 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, /* 0x68-0x6f */ 150191983Sweongyo 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, /* 0x70-0x77 */ 151191983Sweongyo 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, /* 0x78-0x7f */ 152191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ 153191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ 154191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ 155191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ 156191983Sweongyo 0xca, 0xc1, 0xa2, 0xa3, 0x00, 0xb4, 0x00, 0xa4, /* 0xa0-0xa7 */ 157191983Sweongyo 0xac, 0xa9, 0xbb, 0xc7, 0xc2, 0x00, 0xa8, 0xf8, /* 0xa8-0xaf */ 158191983Sweongyo 0xa1, 0xb1, 0x00, 0x00, 0xab, 0xb5, 0xa6, 0xe1, /* 0xb0-0xb7 */ 159191983Sweongyo 0xfc, 0x00, 0xbc, 0xc8, 0x00, 0x00, 0x00, 0xc0, /* 0xb8-0xbf */ 160191983Sweongyo 0xcb, 0xe7, 0xe5, 0xcc, 0x80, 0x81, 0xae, 0x82, /* 0xc0-0xc7 */ 161191983Sweongyo 0xe9, 0x83, 0xe6, 0xe8, 0xed, 0xea, 0xeb, 0xec, /* 0xc8-0xcf */ 162191983Sweongyo 0xdc, 0x84, 0xf1, 0xee, 0xef, 0xcd, 0x85, 0x00, /* 0xd0-0xd7 */ 163191983Sweongyo 0xaf, 0xf4, 0xf2, 0xf3, 0x86, 0xa0, 0xde, 0xa7, /* 0xd8-0xdf */ 164191983Sweongyo 0x88, 0x87, 0x89, 0x8b, 0x8a, 0x8c, 0xbe, 0x8d, /* 0xe0-0xe7 */ 165191983Sweongyo 0x8f, 0x8e, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95, /* 0xe8-0xef */ 166191983Sweongyo 0xdd, 0x96, 0x98, 0x97, 0x99, 0x9b, 0x9a, 0xd6, /* 0xf0-0xf7 */ 167191983Sweongyo 0xbf, 0x9d, 0x9c, 0x9e, 0x9f, 0xe0, 0xdf, 0xd8, /* 0xf8-0xff */ 168191983Sweongyo}; 169191983Sweongyo 170191983Sweongyostatic const unsigned char page01[256] = { 171191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ 172191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ 173191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ 174191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ 175191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ 176191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ 177191983Sweongyo 0x00, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ 178191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ 179191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ 180191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ 181191983Sweongyo 0x00, 0x00, 0xce, 0xcf, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ 182191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ 183191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ 184191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ 185191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ 186191983Sweongyo 0xd9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ 187191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ 188191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ 189191983Sweongyo 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ 190191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ 191191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ 192191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ 193191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ 194191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ 195191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ 196191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ 197191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ 198191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ 199191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ 200191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ 201191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf0-0xf7 */ 202191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf8-0xff */ 203191983Sweongyo}; 204191983Sweongyo 205191983Sweongyostatic const unsigned char page02[256] = { 206191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ 207191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ 208191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ 209191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ 210191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ 211191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ 212191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ 213191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ 214191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ 215191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ 216191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ 217191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ 218191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ 219191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ 220191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ 221191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ 222191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ 223191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ 224191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ 225191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ 226191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ 227191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ 228191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ 229191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ 230191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0xff, /* 0xc0-0xc7 */ 231191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ 232191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ 233191983Sweongyo 0xf9, 0xfa, 0xfb, 0xfe, 0xf7, 0xfd, 0x00, 0x00, /* 0xd8-0xdf */ 234191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ 235191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ 236191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf0-0xf7 */ 237191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf8-0xff */ 238191983Sweongyo}; 239191983Sweongyo 240191983Sweongyostatic const unsigned char page03[256] = { 241191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ 242191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ 243191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ 244191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ 245191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ 246191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ 247191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ 248191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ 249191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ 250191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ 251191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ 252191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ 253191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ 254191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ 255191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ 256191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ 257191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ 258191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ 259191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ 260191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ 261191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ 262191983Sweongyo 0x00, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ 263191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ 264191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ 265191983Sweongyo 0xb9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ 266191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ 267191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ 268191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ 269191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ 270191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ 271191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf0-0xf7 */ 272191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf8-0xff */ 273191983Sweongyo}; 274191983Sweongyo 275191983Sweongyostatic const unsigned char page20[256] = { 276191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ 277191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ 278191983Sweongyo 0x00, 0x00, 0x00, 0xd0, 0xd1, 0x00, 0x00, 0x00, /* 0x10-0x17 */ 279191983Sweongyo 0xd4, 0xd5, 0xe2, 0x00, 0xd2, 0xd3, 0xe3, 0x00, /* 0x18-0x1f */ 280191983Sweongyo 0x00, 0x00, 0xa5, 0x00, 0x00, 0x00, 0xc9, 0x00, /* 0x20-0x27 */ 281191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ 282191983Sweongyo 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ 283191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ 284191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0xda, 0x00, 0x00, 0x00, /* 0x40-0x47 */ 285191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ 286191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ 287191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ 288191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ 289191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ 290191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ 291191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ 292191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ 293191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ 294191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ 295191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ 296191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ 297191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ 298191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ 299191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ 300191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ 301191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ 302191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ 303191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ 304191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ 305191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ 306191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf0-0xf7 */ 307191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf8-0xff */ 308191983Sweongyo}; 309191983Sweongyo 310191983Sweongyostatic const unsigned char page21[256] = { 311191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ 312191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ 313191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ 314191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ 315191983Sweongyo 0x00, 0x00, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ 316191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ 317191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ 318191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ 319191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ 320191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ 321191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ 322191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ 323191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ 324191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ 325191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ 326191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ 327191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ 328191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ 329191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ 330191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ 331191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ 332191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ 333191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ 334191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ 335191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ 336191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ 337191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ 338191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ 339191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ 340191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ 341191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf0-0xf7 */ 342191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf8-0xff */ 343191983Sweongyo}; 344191983Sweongyo 345191983Sweongyostatic const unsigned char page22[256] = { 346191983Sweongyo 0x00, 0x00, 0xb6, 0x00, 0x00, 0x00, 0xc6, 0x00, /* 0x00-0x07 */ 347191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, /* 0x08-0x0f */ 348191983Sweongyo 0x00, 0xb7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ 349191983Sweongyo 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0xb0, 0x00, /* 0x18-0x1f */ 350191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ 351191983Sweongyo 0x00, 0x00, 0x00, 0xba, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ 352191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ 353191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ 354191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ 355191983Sweongyo 0xc5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ 356191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ 357191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ 358191983Sweongyo 0xad, 0x00, 0x00, 0x00, 0xb2, 0xb3, 0x00, 0x00, /* 0x60-0x67 */ 359191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ 360191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ 361191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ 362191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ 363191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ 364191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ 365191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ 366191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ 367191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ 368191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ 369191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ 370191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ 371191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ 372191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ 373191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ 374191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ 375191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ 376191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf0-0xf7 */ 377191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf8-0xff */ 378191983Sweongyo}; 379191983Sweongyo 380191983Sweongyostatic const unsigned char page25[256] = { 381191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ 382191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ 383253757Shselasky 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ 384191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ 385191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ 386191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ 387191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ 388191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ 389191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ 390191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ 391191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ 392191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ 393191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ 394191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ 395191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ 396191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ 397253757Shselasky 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ 398191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ 399191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ 400191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ 401191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ 402191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ 403191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ 404191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ 405191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ 406191983Sweongyo 0x00, 0x00, 0xd7, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ 407191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ 408191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ 409191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ 410191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ 411191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf0-0xf7 */ 412191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf8-0xff */ 413191983Sweongyo}; 414191983Sweongyo 415191983Sweongyostatic const unsigned char pagef8[256] = { 416191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x00-0x07 */ 417191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x08-0x0f */ 418191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x10-0x17 */ 419191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x18-0x1f */ 420191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20-0x27 */ 421191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x28-0x2f */ 422191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x30-0x37 */ 423192984Sthompsa 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x38-0x3f */ 424244503Shselasky 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x40-0x47 */ 425244503Shselasky 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x48-0x4f */ 426191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x50-0x57 */ 427191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x58-0x5f */ 428191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x60-0x67 */ 429191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x68-0x6f */ 430191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x70-0x77 */ 431246614Shselasky 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x78-0x7f */ 432191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x80-0x87 */ 433191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x88-0x8f */ 434191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x90-0x97 */ 435191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x98-0x9f */ 436191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa0-0xa7 */ 437191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xa8-0xaf */ 438191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb0-0xb7 */ 439191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xb8-0xbf */ 440191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc0-0xc7 */ 441191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xc8-0xcf */ 442191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0-0xd7 */ 443191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd8-0xdf */ 444191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe0-0xe7 */ 445191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xe8-0xef */ 446191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf0-0xf7 */ 447191983Sweongyo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, /* 0xf8-0xff */ 448191983Sweongyo}; 449191983Sweongyo 450191983Sweongyostatic const unsigned char *const page_uni2charset[256] = { 451191983Sweongyo page00, page01, page02, page03, NULL, NULL, NULL, NULL, 452191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 453191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 454191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 455191983Sweongyo page20, page21, page22, NULL, NULL, page25, NULL, NULL, 456246944Shselasky NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 457191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 458191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 459191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 460191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 461191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 462191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 463191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 464192984Sthompsa NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 465191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 466191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 467191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 468191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 469191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 470191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 471191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 472191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 473191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 474191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 475191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 476191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 477191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 478191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 479191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 480191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 481191983Sweongyo NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 482191983Sweongyo pagef8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 483191983Sweongyo}; 484191983Sweongyo 485static const unsigned char charset2lower[256] = { 486 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x00-0x07 */ 487 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x08-0x0f */ 488 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x10-0x17 */ 489 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x18-0x1f */ 490 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x20-0x27 */ 491 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x28-0x2f */ 492 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x30-0x37 */ 493 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x38-0x3f */ 494 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x40-0x47 */ 495 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x48-0x4f */ 496 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x50-0x57 */ 497 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x58-0x5f */ 498 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x60-0x67 */ 499 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x68-0x6f */ 500 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x70-0x77 */ 501 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x78-0x7f */ 502 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x80-0x87 */ 503 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x88-0x8f */ 504 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x90-0x97 */ 505 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x98-0x9f */ 506 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xa0-0xa7 */ 507 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xa8-0xaf */ 508 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xb0-0xb7 */ 509 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xb8-0xbf */ 510 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xc0-0xc7 */ 511 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xc8-0xcf */ 512 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xd0-0xd7 */ 513 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xd8-0xdf */ 514 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xe0-0xe7 */ 515 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xe8-0xef */ 516 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xf0-0xf7 */ 517 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xf8-0xff */ 518}; 519 520static const unsigned char charset2upper[256] = { 521 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x00-0x07 */ 522 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x08-0x0f */ 523 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x10-0x17 */ 524 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x18-0x1f */ 525 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x20-0x27 */ 526 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x28-0x2f */ 527 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x30-0x37 */ 528 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x38-0x3f */ 529 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x40-0x47 */ 530 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x48-0x4f */ 531 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x50-0x57 */ 532 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x58-0x5f */ 533 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x60-0x67 */ 534 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x68-0x6f */ 535 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x70-0x77 */ 536 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x78-0x7f */ 537 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x80-0x87 */ 538 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x88-0x8f */ 539 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x90-0x97 */ 540 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x98-0x9f */ 541 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xa0-0xa7 */ 542 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xa8-0xaf */ 543 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xb0-0xb7 */ 544 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xb8-0xbf */ 545 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xc0-0xc7 */ 546 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xc8-0xcf */ 547 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xd0-0xd7 */ 548 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xd8-0xdf */ 549 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xe0-0xe7 */ 550 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xe8-0xef */ 551 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xf0-0xf7 */ 552 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xf8-0xff */ 553}; 554 555static int uni2char(wchar_t uni, unsigned char *out, int boundlen) 556{ 557 const unsigned char *uni2charset; 558 unsigned char cl = uni & 0x00ff; 559 unsigned char ch = (uni & 0xff00) >> 8; 560 561 if (boundlen <= 0) 562 return -ENAMETOOLONG; 563 564 uni2charset = page_uni2charset[ch]; 565 if (uni2charset && uni2charset[cl]) 566 out[0] = uni2charset[cl]; 567 else 568 return -EINVAL; 569 return 1; 570} 571 572static int char2uni(const unsigned char *rawstring, int boundlen, wchar_t *uni) 573{ 574 *uni = charset2uni[*rawstring]; 575 if (*uni == 0x0000) 576 return -EINVAL; 577 return 1; 578} 579 580static struct nls_table table = { 581 .charset = "maciceland", 582 .uni2char = uni2char, 583 .char2uni = char2uni, 584 .charset2lower = charset2lower, 585 .charset2upper = charset2upper, 586}; 587 588static int __init init_nls_maciceland(void) 589{ 590 return register_nls(&table); 591} 592 593static void __exit exit_nls_maciceland(void) 594{ 595 unregister_nls(&table); 596} 597 598module_init(init_nls_maciceland) 599module_exit(exit_nls_maciceland) 600 601MODULE_LICENSE("Dual BSD/GPL"); 602