/**************************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 *************************************************************/



/* ======================================================================= */

/* This file contain the UniCode to DBCS tables for the following */
/* japanese charsets: SJIS, MS932, APPLE_JAPANESE */

/* ======================================================================= */

/* 0x00A2 --> 0x8191 - APPLE_JAPANESE, but I think, this extension is better than the replacment char */
/* 0x00A3 --> 0x8192 - APPLE_JAPANESE, but I think, this extension is better than the replacment char */
/* 0x00A5 --> 0x005C - APPLE_JAPANESE, but I think, this extension is better than the replacment char */
/* 0x00AC --> 0x81CA - APPLE_JAPANESE/SJIS, but I think, this extension is better than the replacment char */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_00[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, /* 0x00 */
	0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, /* 0x00 */
	0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, /* 0x10 */
	0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, /* 0x10 */
	0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, /* 0x20 */
	0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, /* 0x20 */
	0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, /* 0x30 */
	0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, /* 0x30 */
	0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, /* 0x40 */
	0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, /* 0x40 */
	0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, /* 0x50 */
	0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, /* 0x50 */
	0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, /* 0x60 */
	0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, /* 0x60 */
	0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, /* 0x70 */
	0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
	     0, 	 0, 0x8191, 0x8192, 	 0, 0x005C, 	 0, 0x8198, /* 0xA0 */
	0x814E,      0, 	 0, 	 0, 0x81CA, 	 0, 	 0, 	 0, /* 0xA0 */
	0x818B, 0x817D, 	 0, 	 0, 0x814C, 	 0, 0x81F7, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x817E, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8180	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_APPLEJAPANESE_00[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, /* 0x00 */
	0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, /* 0x00 */
	0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, /* 0x10 */
	0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, /* 0x10 */
	0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, /* 0x20 */
	0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, /* 0x20 */
	0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, /* 0x30 */
	0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F, /* 0x30 */
	0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, /* 0x40 */
	0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F, /* 0x40 */
	0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, /* 0x50 */
	0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, /* 0x50 */
	0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, /* 0x60 */
	0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, /* 0x60 */
	0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, /* 0x70 */
	0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
	0x00A0, 	 0, 0x8191, 0x8192, 	 0, 0x005C, 	 0, 0x8198, /* 0xA0 */
	0x814E, 0x00FD, 	 0, 	 0, 0x81CA, 	 0, 	 0, 	 0, /* 0xA0 */
	0x818B, 0x817D, 	 0, 	 0, 0x814C, 	 0, 0x81F7, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x817E, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8180	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_03[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0x839F, 0x83A0, 0x83A1, 0x83A2, 0x83A3, 0x83A4, 0x83A5, /* 0x90 */
	0x83A6, 0x83A7, 0x83A8, 0x83A9, 0x83AA, 0x83AB, 0x83AC, 0x83AD, /* 0x90 */
	0x83AE, 0x83AF, 	 0, 0x83B0, 0x83B1, 0x83B2, 0x83B3, 0x83B4, /* 0xA0 */
	0x83B5, 0x83B6, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 0x83BF, 0x83C0, 0x83C1, 0x83C2, 0x83C3, 0x83C4, 0x83C5, /* 0xB0 */
	0x83C6, 0x83C7, 0x83C8, 0x83C9, 0x83CA, 0x83CB, 0x83CC, 0x83CD, /* 0xB0 */
	0x83CE, 0x83CF, 	 0, 0x83D0, 0x83D1, 0x83D2, 0x83D3, 0x83D4, /* 0xC0 */
	0x83D5, 0x83D6													/* 0xC0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_04[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0x8446, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
	0x8440, 0x8441, 0x8442, 0x8443, 0x8444, 0x8445, 0x8447, 0x8448, /* 0x10 */
	0x8449, 0x844A, 0x844B, 0x844C, 0x844D, 0x844E, 0x844F, 0x8450, /* 0x10 */
	0x8451, 0x8452, 0x8453, 0x8454, 0x8455, 0x8456, 0x8457, 0x8458, /* 0x20 */
	0x8459, 0x845A, 0x845B, 0x845C, 0x845D, 0x845E, 0x845F, 0x8460, /* 0x20 */
	0x8470, 0x8471, 0x8472, 0x8473, 0x8474, 0x8475, 0x8477, 0x8478, /* 0x30 */
	0x8479, 0x847A, 0x847B, 0x847C, 0x847D, 0x847E, 0x8480, 0x8481, /* 0x30 */
	0x8482, 0x8483, 0x8484, 0x8485, 0x8486, 0x8487, 0x8488, 0x8489, /* 0x40 */
	0x848A, 0x848B, 0x848C, 0x848D, 0x848E, 0x848F, 0x8490, 0x8491, /* 0x40 */
		 0, 0x8476													/* 0x50 */
};

/* ----------------------------------------------------------------------- */

/* 0x2014 --> 0x815C - APPLE_JAPANESE/SJIS, but I think, this extension is better than the replacment char */
/* 0x2015 --> 0x815C - MS932, but I think, this extension is better than the replacment char */
/* 0x2016 --> 0x8161 - APPLE_JAPANESE/SJIS, but I think, this extension is better than the replacment char */
/* 0x2026 --> 0x8163 - APPLE_JAPANESE is normaly 0x00FF (HORIZONTAL ELLIPSIS), because in the APPLE import table 0x8183 is this 0x22EF (MIDLINE HORIZONTAL ELLIPSIS) */
/*					   but we import this code as 0x2026 */
/* 0x203E --> 0x8150 - APPLE_JAPANESE, but I think, this extension is better than the replacment char */
/*					   in SJIS this is 0x7E, but we import 0x7E as 0x7E, so this would be the better way */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_20[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x815D, 	 0, 	 0, 	 0, 0x815C, 0x815C, 0x8161, 	 0, /* 0x10 */
	0x8165, 0x8166, 	 0, 	 0, 0x8167, 0x8168, 	 0, 	 0, /* 0x10 */
	0x81F5, 0x81F6, 	 0, 	 0, 	 0, 0x8164, 0x8163, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
	0x81F1, 	 0, 0x818C, 0x818D, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 0x81A6, 	 0, 	 0, 0x8150			/* 0x30 */
};

/* ----------------------------------------------------------------------- */

/* In this table we have some MS932 extensions, but we use this table also for SJIS, for better MS compatibility */

static sal_uInt16 const aImplUniToDBCSTab_MS932_21[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
							0x818E, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8782, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 0x8784, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 0x81F0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
	0x8754, 0x8755, 0x8756, 0x8757, 0x8758, 0x8759, 0x875A, 0x875B, /* 0x60 */
	0x875C, 0x875D, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
	0xFA40, 0xFA41, 0xFA42, 0xFa43, 0xFA44, 0xFA45, 0xFA46, 0xFA47, /* 0x70 */
	0xFA48, 0xFA49, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
	0x81A9, 0x81AA, 0x81A8, 0x81AB, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 0x81CB, 	 0, 0x81CC							/* 0xD0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_APPLEJAPANESE_21[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
							0x818E, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 0x8656, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 0x8650, 	 0, 	 0, 0x869B, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 0x869D, 0x00FE, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 0x81F0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
	0x859F, 0x85A0, 0x85A1, 0x85A2, 0x85A3, 0x85A4, 0x85A5, 0x85A6, /* 0x60 */
	0x85A7, 0x85A8, 0x85A9, 0x85AA, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
	0x85B3, 0x85B4, 0x85B5, 0x85B6, 0x85B7, 0x85B8, 0x85B9, 0x85BA, /* 0x70 */
	0x85BB, 0x85BC, 0x85BD, 0x85BE, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
	0x81A9, 0x81AA, 0x81A8, 0x81AB, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 0x86CC, 0x86CD, 0x86CB, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 0x81CB, 	 0, 0x81CC, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x86D0, 0x86D1, /* 0xE0 */
	0x86CF, 0x86D2													/* 0xE0 */
};

/* ----------------------------------------------------------------------- */

/* In this table we have some MS932 extensions, but we use this table also for SJIS, for better MS compatibility */
/* 0x2210 --> 0x817C - come from SJIS */

static sal_uInt16 const aImplUniToDBCSTab_MS932_22[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x81CD, 	 0, 0x81DD, 0x81CE, 	 0, 	 0, 	 0, 0x81DE, /* 0x00 */
	0x81B8, 	 0, 	 0, 0x81B9, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 0x8794, 0x817C, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 0x81E3, 	 0, 	 0, 0x81E5, 0x8187, 0x8798, /* 0x10 */
	0x81DA, 	 0, 	 0, 	 0, 	 0, 0x8161, 	 0, 0x81C8, /* 0x20 */
	0x81C9, 0x81BF, 0x81BE, 0x81E7, 0x81E8, 	 0, 0x8793, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 0x8188, 0x81E6, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x81E4, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 0x81E0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
	0x8182, 0x81DF, 	 0, 	 0, 	 0, 	 0, 0x8185, 0x8186, /* 0x60 */
		 0, 	 0, 0x81E1, 0x81E2, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 0x81BC, 0x81BD, 	 0, 	 0, 0x81BA, 0x81BB, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x81DB, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8799	/* 0xB0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_APPLEJAPANESE_22[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x81CD, 	 0, 0x81DD, 0x81CE, 	 0, 	 0, 	 0, 0x81DE, /* 0x00 */
	0x81B8, 	 0, 	 0, 0x81B9, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 0x817C, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 0x81E3, 	 0, 	 0, 0x81E5, 0x8187, 0x8841, /* 0x10 */
	0x81DA, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x81C8, /* 0x20 */
	0x81C9, 0x81BF, 0x81BE, 0x81E7, 0x81E8, 	 0, 0x8840, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 0x8188, 0x81E6, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x81E4, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 0x81E0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
	0x8182, 0x81DF, 	 0, 	 0, 	 0, 	 0, 0x8185, 0x8186, /* 0x60 */
		 0, 	 0, 0x81E1, 0x81E2, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 0x81BC, 0x81BD, 	 0, 	 0, 0x81BA, 0x81BB, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x81DB, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8842, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8163	/* 0xE0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_23[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
					0x81DC											/* 0x10 */
																	/* 0x10 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_MS932_24[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x8740, 0x8741, 0x8742, 0x8743, 0x8744, 0x8745, 0x8746, 0x8747, /* 0x60 */
	0x8748, 0x8749, 0x874A, 0x874B, 0x874C, 0x874D, 0x874E, 0x874F, /* 0x60 */
	0x8750, 0x8751, 0x8752, 0x8753									/* 0x70 */
																	/* 0x70 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_APPLEJAPANESE_24[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x8540, 0x8541, 0x8542, 0x8543, 0x8544, 0x8545, 0x8546, 0x8547, /* 0x60 */
	0x8548, 0x8549, 0x854A, 0x854B, 0x854C, 0x854D, 0x854E, 0x854F, /* 0x60 */
	0x8550, 0x8551, 0x8552, 0x8553, 0x855E, 0x855F, 0x8560, 0x8561, /* 0x70 */
	0x8562, 0x8563, 0x8564, 0x8565, 0x8566, 0x8567, 0x8568, 0x8569, /* 0x70 */
	0x856A, 0x856B, 0x856C, 0x856D, 0x856E, 0x856F, 0x8570, 0x8571, /* 0x80 */
	0x8592, 0x8593, 0x8594, 0x8595, 0x8596, 0x8597, 0x8598, 0x8599, /* 0x80 */
	0x859A, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 0x85DB, 0x85DC, 0x85DD, 0x85DE, /* 0x90 */
	0x85DF, 0x85E0, 0x85E1, 0x85E2, 0x85E3, 0x85E4, 0x85E5, 0x85E6, /* 0xA0 */
	0x85E7, 0x85E8, 0x85E9, 0x85EA, 0x85EB, 0x85EC, 0x85ED, 0x85EE, /* 0xA0 */
	0x85EF, 0x85F0, 0x85F1, 0x85F2, 0x85F3, 0x85F4					/* 0xB0 */
																	/* 0xB0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_25[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x849F, 0x84AA, 0x84A0, 0x84AB, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 0x84A1, 	 0, 	 0, 0x84AC, /* 0x00 */
	0x84A2, 	 0, 	 0, 0x84AD, 0x84A4, 	 0, 	 0, 0x84AF, /* 0x10 */
	0x84A3, 	 0, 	 0, 0x84AE, 0x84A5, 0x84BA, 	 0, 	 0, /* 0x10 */
	0x84B5, 	 0, 	 0, 0x84B0, 0x84A7, 0x84BC, 	 0, 	 0, /* 0x20 */
	0x84B7, 	 0, 	 0, 0x84B2, 0x84A6, 	 0, 	 0, 0x84B6, /* 0x20 */
	0x84BB, 	 0, 	 0, 0x84B1, 0x84A8, 	 0, 	 0, 0x84B8, /* 0x30 */
	0x84BD, 	 0, 	 0, 0x84B3, 0x84A9, 	 0, 	 0, 0x84B9, /* 0x30 */
		 0, 	 0, 0x84BE, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 0x84B4, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
	0x81A1, 0x81A0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 0x81A3, 0x81A2, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 0x81A5, 0x81A4, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x819F, 0x819E, /* 0xC0 */
		 0, 	 0, 	 0, 0x819B, 	 0, 	 0, 0x819D, 0x819C, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x81FC	/* 0xE0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_26[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
											0x819A, 0x8199, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
	0x818A, 	 0, 0x8189, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 0x81F4, 	 0, 	 0, 0x81F3, 	 0, 0x81F2	/* 0x60 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_APPLEJAPANESE_26[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
											0x819A, 0x8199, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x86B4, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 0x86C8, 0x86C9, 0x86C7, 0x86CA, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
	0x818A, 	 0, 0x8189, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
	0x86A3, 0x86A1, 0x86A2, 0x86A4, 0x869F, 0x86A5, 0x86A6, 0x86A0, /* 0x60 */
		 0, 	 0, 0x81F4, 	 0, 	 0, 0x81F3, 	 0, 0x81F2	/* 0x60 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_APPLEJAPANESE_27[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
													0x857C, 0x857D, /* 0x70 */
	0x857E, 0x8580, 0x8581, 0x8582, 0x8583, 0x8584, 0x8585			/* 0x70 */
};

/* ----------------------------------------------------------------------- */

/* 0x3014 --> 0x8160 - come from SJIS */
/* 0x301D --> 0x8780 - MS932, but I think, this extension is better than the replacment char */
/* 0x301F --> 0x8781 - MS932, but I think, this extension is better than the replacment char */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_30[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x8140, 0x8141, 0x8142, 0x8156, 	 0, 0x8158, 0x8159, 0x815A, /* 0x00 */
	0x8171, 0x8172, 0x8173, 0x8174, 0x8175, 0x8176, 0x8177, 0x8178, /* 0x00 */
	0x8179, 0x817A, 0x81A7, 0x81AC, 0x816B, 0x816C, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 0x8160, 0x8780, 	 0, 0x8781, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 0x829F, 0x82A0, 0x82A1, 0x82A2, 0x82A3, 0x82A4, 0x82A5, /* 0x40 */
	0x82A6, 0x82A7, 0x82A8, 0x82A9, 0x82AA, 0x82AB, 0x82AC, 0x82AD, /* 0x40 */
	0x82AE, 0x82AF, 0x82B0, 0x82B1, 0x82B2, 0x82B3, 0x82B4, 0x82B5, /* 0x50 */
	0x82B6, 0x82B7, 0x82B8, 0x82B9, 0x82BA, 0x82BB, 0x82BC, 0x82BD, /* 0x50 */
	0x82BE, 0x82BF, 0x82C0, 0x82C1, 0x82C2, 0x82C3, 0x82C4, 0x82C5, /* 0x60 */
	0x82C6, 0x82C7, 0x82C8, 0x82C9, 0x82CA, 0x82CB, 0x82CC, 0x82CD, /* 0x60 */
	0x82CE, 0x82CF, 0x82D0, 0x82D1, 0x82D2, 0x82D3, 0x82D4, 0x82D5, /* 0x70 */
	0x82D6, 0x82D7, 0x82D8, 0x82D9, 0x82DA, 0x82DB, 0x82DC, 0x82DD, /* 0x70 */
	0x82DE, 0x82DF, 0x82E0, 0x82E1, 0x82E2, 0x82E3, 0x82E4, 0x82E5, /* 0x80 */
	0x82E6, 0x82E7, 0x82E8, 0x82E9, 0x82EA, 0x82EB, 0x82EC, 0x82ED, /* 0x80 */
	0x82EE, 0x82EF, 0x82F0, 0x82F1, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 0x814A, 0x814B, 0x8154, 0x8155, 	 0, /* 0x90 */
		 0, 0x8340, 0x8341, 0x8342, 0x8343, 0x8344, 0x8345, 0x8346, /* 0xA0 */
	0x8347, 0x8348, 0x8349, 0x834A, 0x834B, 0x834C, 0x834D, 0x834E, /* 0xA0 */
	0x834F, 0x8350, 0x8351, 0x8352, 0x8353, 0x8354, 0x8355, 0x8356, /* 0xB0 */
	0x8357, 0x8358, 0x8359, 0x835A, 0x835B, 0x835C, 0x835D, 0x835E, /* 0xB0 */
	0x835F, 0x8360, 0x8361, 0x8362, 0x8363, 0x8364, 0x8365, 0x8366, /* 0xC0 */
	0x8367, 0x8368, 0x8369, 0x836A, 0x836B, 0x836C, 0x836D, 0x836E, /* 0xC0 */
	0x836F, 0x8370, 0x8371, 0x8372, 0x8373, 0x8374, 0x8375, 0x8376, /* 0xD0 */
	0x8377, 0x8378, 0x8379, 0x837A, 0x837B, 0x837C, 0x837D, 0x837E, /* 0xD0 */
	0x8380, 0x8381, 0x8382, 0x8383, 0x8384, 0x8385, 0x8386, 0x8387, /* 0xE0 */
	0x8388, 0x8389, 0x838A, 0x838B, 0x838C, 0x838D, 0x838E, 0x838F, /* 0xE0 */
	0x8390, 0x8391, 0x8392, 0x8393, 0x8394, 0x8395, 0x8396, 	 0, /* 0xF0 */
		 0, 	 0, 	 0, 0x8145, 0x815B, 0x8152, 0x8153			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_APPLEJAPANESE_30[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x8140, 0x8141, 0x8142, 0x8156, 0x86B5, 0x8158, 0x8159, 0x815A, /* 0x00 */
	0x8171, 0x8172, 0x8173, 0x8174, 0x8175, 0x8176, 0x8177, 0x8178, /* 0x00 */
	0x8179, 0x817A, 0x81A7, 0x81AC, 0x816B, 0x816C, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 0x8160, 0x8854, 	 0, 0x8855, /* 0x10 */
	0x86B3, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 0x829F, 0x82A0, 0x82A1, 0x82A2, 0x82A3, 0x82A4, 0x82A5, /* 0x40 */
	0x82A6, 0x82A7, 0x82A8, 0x82A9, 0x82AA, 0x82AB, 0x82AC, 0x82AD, /* 0x40 */
	0x82AE, 0x82AF, 0x82B0, 0x82B1, 0x82B2, 0x82B3, 0x82B4, 0x82B5, /* 0x50 */
	0x82B6, 0x82B7, 0x82B8, 0x82B9, 0x82BA, 0x82BB, 0x82BC, 0x82BD, /* 0x50 */
	0x82BE, 0x82BF, 0x82C0, 0x82C1, 0x82C2, 0x82C3, 0x82C4, 0x82C5, /* 0x60 */
	0x82C6, 0x82C7, 0x82C8, 0x82C9, 0x82CA, 0x82CB, 0x82CC, 0x82CD, /* 0x60 */
	0x82CE, 0x82CF, 0x82D0, 0x82D1, 0x82D2, 0x82D3, 0x82D4, 0x82D5, /* 0x70 */
	0x82D6, 0x82D7, 0x82D8, 0x82D9, 0x82DA, 0x82DB, 0x82DC, 0x82DD, /* 0x70 */
	0x82DE, 0x82DF, 0x82E0, 0x82E1, 0x82E2, 0x82E3, 0x82E4, 0x82E5, /* 0x80 */
	0x82E6, 0x82E7, 0x82E8, 0x82E9, 0x82EA, 0x82EB, 0x82EC, 0x82ED, /* 0x80 */
	0x82EE, 0x82EF, 0x82F0, 0x82F1, 0x8868, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 0x814A, 0x814B, 0x8154, 0x8155, 	 0, /* 0x90 */
		 0, 0x8340, 0x8341, 0x8342, 0x8343, 0x8344, 0x8345, 0x8346, /* 0xA0 */
	0x8347, 0x8348, 0x8349, 0x834A, 0x834B, 0x834C, 0x834D, 0x834E, /* 0xA0 */
	0x834F, 0x8350, 0x8351, 0x8352, 0x8353, 0x8354, 0x8355, 0x8356, /* 0xB0 */
	0x8357, 0x8358, 0x8359, 0x835A, 0x835B, 0x835C, 0x835D, 0x835E, /* 0xB0 */
	0x835F, 0x8360, 0x8361, 0x8362, 0x8363, 0x8364, 0x8365, 0x8366, /* 0xC0 */
	0x8367, 0x8368, 0x8369, 0x836A, 0x836B, 0x836C, 0x836D, 0x836E, /* 0xC0 */
	0x836F, 0x8370, 0x8371, 0x8372, 0x8373, 0x8374, 0x8375, 0x8376, /* 0xD0 */
	0x8377, 0x8378, 0x8379, 0x837A, 0x837B, 0x837C, 0x837D, 0x837E, /* 0xD0 */
	0x8380, 0x8381, 0x8382, 0x8383, 0x8384, 0x8385, 0x8386, 0x8387, /* 0xE0 */
	0x8388, 0x8389, 0x838A, 0x838B, 0x838C, 0x838D, 0x838E, 0x838F, /* 0xE0 */
	0x8390, 0x8391, 0x8392, 0x8393, 0x8394, 0x8395, 0x8396, 0x886A, /* 0xF0 */
	0x886B, 0x886C, 0x886D, 0x8145, 0x815B, 0x8152, 0x8153			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_MS932_32[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0x878A, 0x878B, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 0x878C, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 0x8785, 0x8786, 0x8787, 0x8788, /* 0xA0 */
	0x8789															/* 0xA0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_APPLEJAPANESE_32[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
																	/* 0x20 */
					0x8741, 0x8742, 0x8743, 0x8744, 0x8745, 0x8746, /* 0x20 */
	0x8740, 0x874D, 0x8750, 0x8753, 0x874F, 0x8754, 0x8752, 0x8748, /* 0x30 */
	0x8758, 0x874B, 0x874C, 0x8751, 0x8755, 0x8756, 0x874E, 0x8757, /* 0x30 */
	0x8747, 	 0, 0x8749, 0x874A, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8799, 	 0, /* 0x90 */
	0x879B, 0x879E, 	 0, 	 0, 	 0, 0x879A, 0x879C, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 0x8793, 0x8794, 0x8795, 0x8796, /* 0xA0 */
	0x8797, 0x8798													/* 0xA0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_MS932_33[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
							0x8765, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x8769, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 0x8760, 	 0, 	 0, 	 0, /* 0x10 */
	0x8763, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 0x8761, 0x876B, 	 0, 	 0, 0x876A, 0x8764, /* 0x20 */
		 0, 	 0, 	 0, 0x876C, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8766, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 0x876E, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 0x875F, 0x876D, 	 0, 	 0, 0x8762, 	 0, 	 0, /* 0x40 */
		 0, 0x8767, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8768, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 0x877E, 0x878F, 0x878E, 0x878D, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8772, 0x8773, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 0x876F, 0x8770, 0x8771, 	 0, /* 0x90 */
		 0, 0x8775, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 0x8774, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x8783					/* 0xC0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_APPLEJAPANESE_33[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x87BD, 	 0, 	 0, 0x87A7, 	 0, 0x87A4, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x87B0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 0x87A2, 0x87AA, 0x87A3, 	 0, /* 0x10 */
	0x87A9, 	 0, 	 0, 	 0, 	 0, 	 0, 0x87BE, 	 0, /* 0x10 */
		 0, 	 0, 0x87A0, 0x87B2, 	 0, 	 0, 0x87B3, 0x87AB, /* 0x20 */
		 0, 	 0, 0x87BF, 0x87B5, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 0x87C0, 	 0, 0x87A5, 	 0, 	 0, 0x87A8, 	 0, /* 0x30 */
		 0, 0x87AE, 	 0, 0x87B4, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 0x87B1, 	 0, 	 0, 	 0, 	 0, 0x87C1, /* 0x40 */
		 0, 0x879F, 0x87AD, 	 0, 	 0, 0x87A1, 0x87A6, 	 0, /* 0x40 */
		 0, 0x87AC, 	 0, 	 0, 	 0, 	 0, 	 0, 0x87AF, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 0x87E8, 0x87E7, 0x87E6, 0x87E5, 0x87FA, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x865A, 0x865B, 0x865C, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x864A, 0x864C, /* 0x80 */
	0x8659, 	 0, 	 0, 	 0, 	 0, 	 0, 0x864E, 0x864F, /* 0x90 */
	0x8651, 	 0, 	 0, 	 0, 0x8640, 0x8642, 0x8648, 0x8641, /* 0x90 */
	0x8643, 0x8646, 0x8649, 	 0, 0x8644, 0x8647, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
	0x8655, 0x8654, 0x8653, 0x8652, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 0x864D, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 0x8658, 	 0, 0x869C, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 0x8657							/* 0xD0 */
																	/* 0xD0 */
};

/* ----------------------------------------------------------------------- */

/* Table _4E to _9F includes the 360 IBM Kanji's we export to all */
/* formats (SJIS/APPLE_JAPANESE) for better compatibility. These */
/* characters are also imported from us in all formats. So this */
/* extension should give better results than the export to the */
/* replacement character. */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_4E[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x88EA, 0x929A, 	 0, 0x8EB5, 	 0, 	 0, 	 0, 0x969C, /* 0x00 */
	0x8FE4, 0x8E4F, 0x8FE3, 0x89BA, 	 0, 0x9573, 0x975E, 	 0, /* 0x00 */
	0x98A0, 0x894E, 	 0, 	 0, 0x8A8E, 0x98A1, 0x90A2, 0x99C0, /* 0x10 */
	0x8B75, 0x95B8, 	 0, 	 0, 	 0, 	 0, 0x8FE5, 	 0, /* 0x10 */
		 0, 0x97BC, 	 0, 	 0, 	 0, 	 0, 0x95C0, 	 0, /* 0x20 */
	0xFA68, 	 0, 0x98A2, 	 0, 	 0, 0x9286, 	 0, 	 0, /* 0x20 */
		 0, 0x98A3, 0x8BF8, 	 0, 	 0, 	 0, 0x98A4, 	 0, /* 0x30 */
	0x8ADB, 0x924F, 	 0, 0x8EE5, 0x98A5, 	 0, 	 0, 0x98A6, /* 0x30 */
		 0, 	 0, 0x98A7, 0x9454, 	 0, 0x8B76, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 0x9456, 	 0, 0x93E1, 0x8CC1, 0x9652, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE568, 0x98A8, 0x8FE6, /* 0x50 */
	0x98A9, 0x89B3, 	 0, 	 0, 	 0, 0x8BE3, 0x8CEE, 0x96E7, /* 0x50 */
		 0, 	 0, 0x9BA4, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 0x9790, 	 0, 0x93FB, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8AA3, 	 0, /* 0x70 */
	0x8B54, 	 0, 0x98AA, 	 0, 	 0, 0x98AB, 0x97B9, 	 0, /* 0x80 */
	0x975C, 0x9188, 0x98AD, 0x8E96, 0x93F1, 	 0, 0x98B0, 	 0, /* 0x80 */
		 0, 0x895D, 0x8CDD, 	 0, 0x8CDC, 0x88E4, 	 0, 	 0, /* 0x90 */
	0x986A, 0x9869, 	 0, 0x8DB1, 0x889F, 	 0, 0x98B1, 0x98B2, /* 0x90 */
	0x98B3, 0x9653, 0x98B4, 	 0, 0x8CF0, 0x88E5, 0x9692, 	 0, /* 0xA0 */
	0x8B9C, 	 0, 	 0, 0x8B9D, 0x8B9E, 0x92E0, 0x97BA, 	 0, /* 0xA0 */
	0x98B5, 	 0, 	 0, 0x98B6, 	 0, 	 0, 0x98B7, 	 0, /* 0xB0 */
		 0, 	 0, 0x906C, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
	0x8F59, 0x906D, 0x98BC, 	 0, 0x98BA, 	 0, 0x98BB, 0x8B77, /* 0xC0 */
		 0, 	 0, 0x8DA1, 0x89EE, 	 0, 0x98B9, 0x98B8, 0x95A7, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 0x8E65, 0x8E64, 0x91BC, 0x98BD, /* 0xD0 */
	0x9574, 0x90E5, 	 0, 	 0, 	 0, 0x8157, 0x98BE, 0x98C0, /* 0xD0 */
		 0, 0xFA69, 	 0, 0x91E3, 0x97DF, 0x88C8, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x98BF, 0x89BC, 	 0, /* 0xE0 */
	0x8BC2, 	 0, 0x9287, 	 0, 	 0, 	 0, 0x8C8F, 0x98C1, /* 0xF0 */
		 0, 	 0, 	 0, 0x9443, 0xFA6A							/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_4F[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0xFA6B, 0x8AE9, 	 0, 0xFA6C, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 0x98C2, 0x88C9, 	 0, 	 0, 0x8CDE, 0x8AEA, 0x959A, /* 0x00 */
	0x94B0, 0x8B78, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 0x89EF, 	 0, 0x98E5, 0x9360, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x948C, /* 0x20 */
	0x98C4, 	 0, 	 0, 	 0, 0x94BA, 	 0, 0x97E0, 	 0, /* 0x30 */
	0x904C, 0xFA6D, 0x8E66, 	 0, 0x8E97, 0x89BE, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 0x92CF, 	 0, 	 0, 0x9241, 0x98C8, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x88CA, 0x92E1, 0x8F5A, /* 0x40 */
	0x8DB2, 0x9743, 	 0, 0x91CC, 	 0, 0x89BD, 0xFA6E, 0x98C7, /* 0x50 */
		 0, 0x975D, 0x98C3, 0x98C5, 0x8DEC, 0x98C6, 0x9B43, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 0x98CE, 	 0, 	 0, 	 0, 	 0, 	 0, 0x98D1, /* 0x60 */
	0x98CF, 	 0, 	 0, 0x89C0, 	 0, 0x95B9, 0x98C9, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 0x98CD, 0x8CF1, 	 0, 	 0, 0x8E67, /* 0x70 */
		 0, 	 0, 	 0, 0x8AA4, 	 0, 	 0, 0x98D2, 	 0, /* 0x80 */
	0x98CA, 	 0, 0xFA70, 0x97E1, 	 0, 0x8E98, 	 0, 0x98CB, /* 0x80 */
		 0, 0x98D0, 0xFA71, 	 0, 0xFA72, 	 0, 0x98D3, 	 0, /* 0x90 */
	0x98CC, 	 0, 0xFA6F, 0x8B9F, 	 0, 0x88CB, 	 0, 	 0, /* 0x90 */
	0x8BA0, 0x89BF, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 0x9B44, 	 0, 0x9699, 0x958E, 0x8CF2, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x904E, 0x97B5, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x95D6, /* 0xB0 */
		 0, 	 0, 0x8C57, 0x91A3, 0x89E2, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 0xFA61, 0x8F72, 	 0, 	 0, 0xFA73, 0x98D7, 	 0, /* 0xC0 */
	0x98DC, 0x98DA, 	 0, 	 0, 0x98D5, 	 0, 	 0, 0x91AD, /* 0xD0 */
	0x98D8, 	 0, 0x98DB, 0x98D9, 	 0, 0x95DB, 	 0, 0x98D6, /* 0xD0 */
		 0, 0x904D, 	 0, 0x9693, 0x98DD, 0x98DE, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8F43, 0x98EB, /* 0xE0 */
		 0, 	 0, 	 0, 0x946F, 	 0, 0x9555, 0x98E6, 	 0, /* 0xF0 */
	0x95EE, 	 0, 0x89B4, 	 0, 	 0, 	 0, 0x98EA, 0xFA76	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_50[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
											0x98E4, 0x98ED, 	 0, /* 0x00 */
		 0, 0x9171, 	 0, 0x8CC2, 	 0, 0x947B, 	 0, 0xE0C5, /* 0x00 */
		 0, 0x98EC, 0x937C, 	 0, 0x98E1, 	 0, 0x8CF4, 	 0, /* 0x10 */
		 0, 0x8CF3, 0x98DF, 	 0, 	 0, 	 0, 0xFA77, 0x8ED8, /* 0x10 */
		 0, 0x98E7, 0xFA75, 0x95ED, 0x926C, 0x98E3, 0x8C91, 	 0, /* 0x20 */
	0x98E0, 0x98E8, 0x98E2, 0x97CF, 0x98E9, 0x9860, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8BE4, 	 0, /* 0x30 */
		 0, 0x8C90, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
	0xFA74, 	 0, 0xFA7A, 0x98EE, 	 0, 	 0, 0xFA78, 0x98EF, /* 0x40 */
	0x98F3, 0x88CC, 	 0, 	 0, 	 0, 	 0, 	 0, 0x95CE, /* 0x40 */
	0x98F2, 	 0, 	 0, 	 0, 	 0, 0x98F1, 0x98F5, 	 0, /* 0x50 */
		 0, 	 0, 0x98F4, 	 0, 0x92E2, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x8C92, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 0x98F6, 	 0, 	 0, 	 0, /* 0x60 */
	0xFA79, 	 0, 0x8EC3, 	 0, 0x91A4, 0x92E3, 0x8BF4, 	 0, /* 0x70 */
	0x98F7, 	 0, 	 0, 	 0, 	 0, 0x8B55, 	 0, 	 0, /* 0x70 */
	0x98F8, 	 0, 	 0, 	 0, 	 0, 0x98FA, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9654, 	 0, 	 0, /* 0x80 */
		 0, 0x8C86, 	 0, 	 0, 0xFA7B, 	 0, 	 0, 	 0, /* 0x90 */
	0x8E50, 0x94F5, 0x98F9, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 0x8DC3, 0x9762, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 0x98FC, 0x9942, 0x98FB, 0x8DC2, 	 0, 0x8F9D, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8C58, 	 0, /* 0xB0 */
		 0, 	 0, 0x9943, 	 0, 	 0, 0x8BCD, 	 0, 	 0, /* 0xC0 */
		 0, 0x9940, 0x9941, 	 0, 	 0, 0x93AD, 	 0, 0x919C, /* 0xC0 */
		 0, 0x8BA1, 	 0, 	 0, 	 0, 0x966C, 0x9944, 	 0, /* 0xD0 */
	0xFA7D, 	 0, 0x97BB, 	 0, 	 0, 	 0, 0x9945, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 0x9948, 	 0, 0x9946, 	 0, 0x916D, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9947, 0x9949, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 0xFA7C, 0x994B, 	 0, 	 0, /* 0xF0 */
		 0, 0x994A, 	 0, 0x95C6									/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_51[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x8B56, 0x994D, 0x994E, 	 0, 0x89AD, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 0x994C, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 0x8EF2, 	 0, 0x9951, 0x9950, 0x994F, 	 0, /* 0x10 */
	0x98D4, 	 0, 0x9952, 	 0, 	 0, 	 0, 	 0, 0x8F9E, /* 0x10 */
		 0, 0x9953, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 0x9744, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 0x96D7, 	 0, 	 0, 	 0, 	 0, 0x9955, /* 0x30 */
		 0, 	 0, 0x9954, 0x9957, 0x9956, 	 0, 	 0, 0x9958, /* 0x30 */
	0x9959, 0x88F2, 	 0, 0x8CB3, 0x8C5A, 0x8F5B, 0x929B, 0x8BA2, /* 0x40 */
	0x90E6, 0x8CF5, 0xFA7E, 0x8D8E, 0x995B, 0x96C6, 0x9365, 	 0, /* 0x40 */
	0x8E99, 	 0, 0x995A, 	 0, 0x995C, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 0x937D, 	 0, 0x8A95, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 0x995D, 	 0, 0xFA80, 0x93FC, 	 0, 	 0, /* 0x60 */
	0x9153, 0x995F, 0x9960, 0x94AA, 0x8CF6, 0x985A, 0x9961, 	 0, /* 0x60 */
		 0, 0x8BA4, 	 0, 	 0, 	 0, 0x95BA, 0x91B4, 0x8BEF, /* 0x70 */
	0x9354, 	 0, 	 0, 	 0, 0x8C93, 	 0, 	 0, 	 0, /* 0x70 */
	0x9962, 	 0, 0x9963, 	 0, 	 0, 0x93E0, 0x897E, 	 0, /* 0x80 */
		 0, 0x9966, 0x8DFB, 	 0, 0x9965, 0x8DC4, 	 0, 0x9967, /* 0x80 */
	0xE3EC, 0x9968, 0x9660, 0x9969, 	 0, 0x996A, 0x996B, 0x8FE7, /* 0x90 */
		 0, 0x8ECA, 	 0, 	 0, 	 0, 0xFA81, 	 0, 	 0, /* 0x90 */
	0x8AA5, 	 0, 0x996E, 	 0, 0x996C, 0x96BB, 0x996D, 	 0, /* 0xA0 */
	0x9579, 0x996F, 0x9970, 0x9971, 0x937E, 	 0, 	 0, 	 0, /* 0xA0 */
	0x9975, 0x9973, 0x9974, 0x9972, 0x8DE1, 0x9976, 0x96E8, 0x97E2, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9977, 0xFA82, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 0x90A6, 0x9978, 0x8F79, 	 0, /* 0xC0 */
		 0, 0x9979, 	 0, 0x929C, 0x97BD, 0x9380, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x99C3, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 0x997A, 0xEAA3, 0x8BC3, 	 0, 	 0, /* 0xD0 */
	0x997B, 0x967D, 	 0, 	 0, 	 0, 	 0, 0x8F88, 0x91FA, /* 0xE0 */
		 0, 0x997D, 0x93E2, 	 0, 0xFA83, 0x997E, 	 0, 	 0, /* 0xE0 */
	0x9980, 0x8A4D, 	 0, 	 0, 	 0, 0x9981, 0x8BA5, 	 0, /* 0xF0 */
	0x93CA, 0x899A, 0x8F6F, 	 0, 	 0, 0x949F, 0x9982			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_52[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x9381, 	 0, 	 0, 0x906E, 0x9983, 	 0, 0x95AA, 0x90D8, /* 0x00 */
	0x8AA0, 	 0, 0x8AA7, 0x9984, 	 0, 	 0, 0x9986, 	 0, /* 0x00 */
		 0, 0x8C59, 	 0, 	 0, 0x9985, 0xFA84, 	 0, 0x97F1, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x8F89, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 0x94BB, 0x95CA, 	 0, 0x9987, /* 0x20 */
		 0, 0x9798, 0x9988, 	 0, 	 0, 	 0, 0x9989, 	 0, /* 0x20 */
	0x939E, 	 0, 	 0, 0x998A, 	 0, 	 0, 0x90A7, 0x8DFC, /* 0x30 */
	0x8C94, 0x998B, 0x8E68, 0x8D8F, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 0x92E4, 0x998D, 	 0, 	 0, 0x91A5, /* 0x40 */
		 0, 	 0, 0x8DED, 0x998E, 0x998F, 0x914F, 	 0, 0x998C, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 0x9991, 	 0, 0x9655, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 0x8D84, 	 0, 	 0, 0x9990, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 0x8C95, 0x8DDC, 0x948D, 	 0, 	 0, /* 0x60 */
		 0, 0x9994, 0x9992, 	 0, 	 0, 	 0, 	 0, 0x959B, /* 0x60 */
	0x8FE8, 0x999B, 0x8A84, 0x9995, 0x9993, 0x916E, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9997, 	 0, 0x9996, /* 0x70 */
		 0, 	 0, 	 0, 0x8A63, 	 0, 	 0, 	 0, 0x8C80, /* 0x80 */
	0x999C, 0x97AB, 	 0, 	 0, 	 0, 0x9998, 	 0, 	 0, /* 0x80 */
		 0, 0x999D, 0x999A, 	 0, 0x9999, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 0x97CD, 0xFA85, 	 0, 	 0, 0x8CF7, /* 0x90 */
	0x89C1, 	 0, 	 0, 0x97F2, 	 0, 	 0, 0xFA86, 	 0, /* 0xA0 */
		 0, 0x8F95, 0x9377, 0x8D85, 0x99A0, 0x99A1, 	 0, 0xFB77, /* 0xA0 */
		 0, 0x97E3, 	 0, 	 0, 0x984A, 0x99A3, 	 0, 	 0, /* 0xB0 */
		 0, 0x8CF8, 	 0, 	 0, 0x99A2, 	 0, 0x8A4E, 	 0, /* 0xB0 */
	0xFA87, 0x99A4, 	 0, 0x9675, 	 0, 0x92BA, 	 0, 0x9745, /* 0xC0 */
		 0, 0x95D7, 	 0, 	 0, 	 0, 0x99A5, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 0xE8D3, 	 0, 	 0, 0x93AE, 	 0, 0x99A6, /* 0xD0 */
	0x8AA8, 0x96B1, 	 0, 0xFA88, 	 0, 0x8F9F, 0x99A7, 0x95E5, /* 0xD0 */
	0x99AB, 	 0, 0x90A8, 0x99A8, 0x8BCE, 	 0, 0x99A9, 0x8AA9, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 0x8C4D, 0x99AC, 	 0, 0x99AD, 	 0, 	 0, /* 0xF0 */
	0x99AE, 0x99AF, 0x8ED9, 	 0, 	 0, 	 0, 0x8CF9, 0x96DC	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_53[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0xFA89, 0x96E6, 0x93F5, 	 0, 	 0, 0x95EF, 0x99B0, 0xFA8A, /* 0x00 */
	0x99B1, 	 0, 	 0, 	 0, 	 0, 0x99B3, 	 0, 0x99B5, /* 0x00 */
	0x99B4, 	 0, 	 0, 	 0, 	 0, 0x99B6, 0x89BB, 0x966B, /* 0x10 */
		 0, 0x8DFA, 0x99B7, 	 0, 	 0, 0x9178, 	 0, 	 0, /* 0x10 */
	0x8FA0, 0x8BA7, 	 0, 0x99B8, 0xFA8B, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 0x94D9, 	 0, 	 0, 	 0, 	 0, 0x99B9, /* 0x20 */
		 0, 0x99BA, 	 0, 0x99BB, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
	0x99BC, 0x9543, 0x8BE6, 0x88E3, 	 0, 	 0, 	 0, 0x93BD, /* 0x30 */
	0x99BD, 0x8F5C, 	 0, 0x90E7, 	 0, 0x99BF, 0x99BE, 0x8FA1, /* 0x40 */
	0x8CDF, 0x99C1, 0x94BC, 	 0, 	 0, 0x99C2, 	 0, 	 0, /* 0x40 */
		 0, 0x94DA, 0x91B2, 0x91EC, 0x8BA6, 	 0, 	 0, 0x93EC, /* 0x50 */
	0x9250, 	 0, 0x948E, 	 0, 0x966D, 	 0, 0x99C4, 	 0, /* 0x50 */
	0x90E8, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8C54, 	 0, /* 0x60 */
		 0, 0x99C5, 	 0, 	 0, 	 0, 	 0, 0x99C6, 0x894B, /* 0x60 */
	0x88F3, 0x8AEB, 0xFA8C, 0x91A6, 0x8B70, 0x9791, 	 0, 0x99C9, /* 0x70 */
	0x89B5, 	 0, 	 0, 0x99C8, 	 0, 	 0, 	 0, 0x8BA8, /* 0x70 */
		 0, 	 0, 0x99CA, 	 0, 0x96EF, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 0xFA8D, 	 0, 	 0, 0x99CB, 	 0, /* 0x90 */
	0x97D0, 	 0, 0x8CFA, 	 0, 	 0, 	 0, 	 0, 0x8CB4, /* 0x90 */
	0x99CC, 	 0, 	 0, 	 0, 	 0, 0x99CE, 0x99CD, 	 0, /* 0xA0 */
	0x907E, 0x8958, 	 0, 	 0, 	 0, 0x897D, 0x99CF, 	 0, /* 0xA0 */
	0x99D0, 	 0, 0xFA8E, 0x8CB5, 	 0, 	 0, 0x99D1, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 0x8B8E, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 0x8E51, 0x99D2, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
	0x9694, 0x8DB3, 0x8B79, 0x9746, 0x916F, 0x94BD, 0x8EFB, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 0x8F66, 	 0, 0x8EE6, 0x8EF3, /* 0xD0 */
		 0, 0x8F96, 	 0, 0x94BE, 	 0, 0xFA8F, 	 0, 0x99D5, /* 0xD0 */
		 0, 0x8962, 0x9170, 0x8CFB, 0x8CC3, 0x8BE5, 	 0, 	 0, /* 0xE0 */
	0x99D9, 0x9240, 0x91FC, 0x8BA9, 0x8FA2, 0x99DA, 0x99D8, 0x89C2, /* 0xE0 */
	0x91E4, 0x8EB6, 0x8E6A, 0x8945, 	 0, 	 0, 0x8A90, 0x8D86, /* 0xF0 */
	0x8E69, 	 0, 0x99DB											/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_54[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0x99DC, 	 0, 0x8B68, 0x8A65, 	 0, 	 0, 	 0, /* 0x00 */
	0x8D87, 0x8B67, 0x92DD, 0x8944, 0x93AF, 0x96BC, 0x8D40, 0x9799, /* 0x00 */
	0x9366, 0x8CFC, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 0x8C4E, 	 0, 0x99E5, 	 0, 0x8BE1, /* 0x10 */
	0x9669, 	 0, 	 0, 	 0, 	 0, 	 0, 0x94DB, 	 0, /* 0x20 */
		 0, 0x99E4, 	 0, 0x8ADC, 0x99DF, 0x99E0, 0x99E2, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x99E3, 	 0, /* 0x30 */
	0x8B7A, 0x9081, 	 0, 0x95AB, 0x99E1, 0x99DD, 0x8CE1, 	 0, /* 0x30 */
	0x99DE, 	 0, 0x9843, 	 0, 	 0, 	 0, 0x95F0, 	 0, /* 0x40 */
	0x92E6, 0x8CE0, 0x8D90, 	 0, 	 0, 	 0, 0x99E6, 	 0, /* 0x40 */
		 0, 0x93DB, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x99EA, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
	0x8EFC, 	 0, 0x8EF4, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
	0x99ED, 0x99EB, 	 0, 0x96A1, 	 0, 0x99E8, 0x99F1, 0x99EC, /* 0x70 */
		 0, 	 0, 	 0, 0x99EF, 0x8CC4, 0x96BD, 	 0, 	 0, /* 0x70 */
	0x99F0, 	 0, 	 0, 	 0, 0x99F2, 	 0, 0x99F4, 	 0, /* 0x80 */
		 0, 	 0, 0xFA92, 0x8DEE, 0x9861, 	 0, 0x99E9, 0x99E7, /* 0x80 */
	0x99F3, 	 0, 0x99EE, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 0xFA91, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 0x99F6, 	 0, 0x9A42, 0x99F8, 	 0, 	 0, /* 0xA0 */
	0x99FC, 0xFA93, 	 0, 0x9A40, 0x99F9, 	 0, 	 0, 0x9A5D, /* 0xA0 */
		 0, 	 0, 0x8DE7, 0x8A50, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
	0x99F7, 	 0, 	 0, 	 0, 0x9A44, 0x88F4, 0x9A43, 	 0, /* 0xB0 */
	0x88A3, 0x9569, 0x9A41, 	 0, 0x99FA, 	 0, 	 0, 0x99F5, /* 0xC0 */
	0x99FB, 0x8DC6, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
	0x9A45, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 0x88F5, 0x9A4E, 	 0, 	 0, 0x9A46, 0x9A47, 	 0, /* 0xE0 */
	0x8FA3, 0x9689, 	 0, 	 0, 	 0, 0x9A4C, 0x9A4B, 	 0, /* 0xE0 */
		 0, 	 0, 0x934E, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 	 0, 0x9A4D, 	 0, 	 0, 0x9A4A, 	 0, 0xFA94	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_55[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
									0x8953, 	 0, 0x8DB4, 0x904F, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9A48, /* 0x00 */
	0x9382, 	 0, 	 0, 	 0, 0x9A49, 	 0, 0x88A0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9A53, 0x9742, /* 0x20 */
		 0, 0x8FA5, 	 0, 0x9A59, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
	0x9A58, 0x9A4F, 	 0, 	 0, 	 0, 	 0, 0x91C1, 	 0, /* 0x30 */
	0x9A50, 	 0, 	 0, 	 0, 0x91ED, 0x9A55, 0x8FA4, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 0x9A52, 	 0, 	 0, 0x96E2, /* 0x40 */
		 0, 	 0, 	 0, 0x8C5B, 	 0, 	 0, 0x9A56, 0x9A57, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 0x9A54, 0x9A5A, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 0x9A51, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 0x9A60, 0x9A65, 	 0, 0x9A61, 	 0, /* 0x70 */
	0x9A5C, 	 0, 	 0, 0x9A66, 0x9150, 	 0, 0xFA95, 0x9A68, /* 0x80 */
		 0, 0x8D41, 0x9A5E, 0x929D, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
	0x9A62, 0x9A5B, 0x8AAB, 	 0, 0x8AEC, 0x8A85, 0x9A63, 0x9A5F, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8C96, /* 0xA0 */
	0x9A69, 0x9A67, 0x9172, 0x8B69, 0x8BAA, 	 0, 0x9A64, 	 0, /* 0xA0 */
	0x8BF2, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8963, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 0x9A6D, 0x9A6B, 	 0, 0x9AA5, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 0x9A70, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 0x9A6A, 	 0, 0x9A6E, 	 0, 	 0, 0x9A6C, /* 0xD0 */
		 0, 	 0, 	 0, 0x8E6B, 0x9A6F, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9A72, /* 0xF0 */
		 0, 0x9A77, 	 0, 	 0, 	 0, 0x9A75, 0x9A74			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_56[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
													0x9251, 	 0, /* 0x00 */
		 0, 0x89C3, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 0x9A71, 	 0, 0x9A73, 0x8FA6, /* 0x10 */
	0x8952, 	 0, 	 0, 0x9A76, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 0x89DC, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9A82, /* 0x20 */
		 0, 0x8FFA, 0x9A7D, 	 0, 0x9A7B, 	 0, 0x9A7C, 	 0, /* 0x30 */
	0x9A7E, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 0x895C, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 0x9158, 	 0, 0x9A78, 	 0, /* 0x40 */
	0x9A79, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 0x8A9A, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 0x9A81, 	 0, 	 0, 	 0, /* 0x60 */
	0x8AED, 	 0, 0x9A84, 0x9A80, 0x9A83, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 0x95AC, 	 0, 	 0, 	 0, /* 0x70 */
	0x93D3, 	 0, 0x94B6, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
	0x9A86, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9A85, 0x8A64, /* 0x80 */
		 0, 	 0, 0x9A87, 	 0, 	 0, 	 0, 	 0, 0x9A8A, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 0x9A89, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
	0x9A88, 	 0, 0x9458, 	 0, 	 0, 0x9A8B, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9A8C, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 0x9A8E, 	 0, 0x9A8D, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 0x9A90, 	 0, 	 0, 	 0, /* 0xB0 */
	0x9A93, 0x9A91, 0x9A8F, 0x9A92, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
	0x9A94, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9A95, 	 0, /* 0xC0 */
		 0, 0x9A96, 	 0, 0x9A97, 	 0, 	 0, 	 0, 0x9A98, /* 0xD0 */
	0x9964, 	 0, 0x8EFA, 0x8E6C, 	 0, 	 0, 0x89F1, 	 0, /* 0xD0 */
	0x88F6, 	 0, 	 0, 0x9263, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9A99, 	 0, /* 0xE0 */
	0x8DA2, 	 0, 0x88CD, 0x907D, 	 0, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 0x9A9A, 0x8CC5, 	 0, 	 0, 0x8D91, 	 0, 0x9A9C	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_57[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x9A9B, 	 0, 	 0, 0x95DE, 0x9A9D, 	 0, 	 0, 	 0, /* 0x00 */
	0x9A9F, 0x9A9E, 	 0, 0x9AA0, 	 0, 0x9AA1, 	 0, 0x8C97, /* 0x00 */
		 0, 	 0, 0x8980, 0x9AA2, 	 0, 	 0, 0x9AA4, 	 0, /* 0x10 */
	0x9AA3, 	 0, 	 0, 	 0, 0x9AA6, 	 0, 	 0, 0x9379, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9AA7, 0x88B3, /* 0x20 */
	0x8DDD, 	 0, 	 0, 	 0, 	 0, 0x8C5C, 	 0, 	 0, /* 0x20 */
	0x926E, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9AA8, /* 0x30 */
	0x9AA9, 	 0, 	 0, 0x9AAB, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
	0x9AAC, 	 0, 0x8DE2, 	 0, 	 0, 	 0, 	 0, 0x8BCF, /* 0x40 */
		 0, 	 0, 0x9656, 	 0, 	 0, 	 0, 0x9AAA, 0x9AAD, /* 0x40 */
	0x8DBF, 0x8D42, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 0xFA96, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 0x9AB1, 	 0, 	 0, 0x8DA3, 0xFA97, 0x9252, 	 0, /* 0x60 */
		 0, 0x9AAE, 0x92D8, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9AB2, /* 0x70 */
		 0, 	 0, 0x9082, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
	0x9AB0, 0x9AB3, 	 0, 0x8C5E, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 0x9AB4, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
	0x9AB5, 	 0, 0x8D43, 0x8A5F, 0x9AB7, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 0x9AB8, 	 0, 0xFA98, 	 0, 	 0, 	 0, /* 0xA0 */
	0x9AB9, 	 0, 	 0, 0x9AB6, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
	0x9AAF, 	 0, 	 0, 0x9ABA, 	 0, 	 0, 0x9ABB, 0xFA9A, /* 0xC0 */
	0xFA99, 	 0, 	 0, 0x9684, 	 0, 	 0, 0x8FE9, 	 0, /* 0xC0 */
		 0, 	 0, 0x9ABD, 0x9ABE, 0x9ABC, 	 0, 0x9AC0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 0x9457, 	 0, 	 0, 0x88E6, /* 0xD0 */
	0x9575, 	 0, 	 0, 0x9AC1, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 0x8FFB, 	 0, 	 0, 0x8EB7, /* 0xF0 */
		 0, 0x947C, 0x8AEE, 	 0, 0x8DE9							/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_58[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x9678, 	 0, 0x93B0, 	 0, 	 0, 0x8C98, 0x91CD, 	 0, /* 0x00 */
		 0, 	 0, 0x9ABF, 0x9AC2, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x91C2, 	 0, 	 0, /* 0x10 */
		 0, 0x9AC3, 	 0, 	 0, 	 0, 0x9AC4, 	 0, 	 0, /* 0x10 */
		 0, 0x9AC6, 	 0, 	 0, 0x92E7, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 0x8AAC, 	 0, 	 0, 	 0, 	 0, 0xEA9F, /* 0x20 */
	0x8981, 0x95F1, 	 0, 	 0, 0x8FEA, 0x9367, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 0x8DE4, 	 0, 	 0, 0x9ACC, 	 0, 	 0, /* 0x30 */
	0x95BB, 0x97DB, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 0x89F2, 0x9AC8, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 0x9159, 0x9ACB, 	 0, 0x9383, 	 0, 	 0, 0x9368, /* 0x50 */
	0x9384, 0x94B7, 0x92CB, 	 0, 	 0, 	 0, 0x8DC7, 	 0, /* 0x50 */
		 0, 	 0, 0x9AC7, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 0x8996, 	 0, 0x9355, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
	0x9AC9, 	 0, 0x9AC5, 	 0, 	 0, 0x906F, 	 0, 	 0, /* 0x70 */
		 0, 0x9ACD, 	 0, 	 0, 	 0, 	 0, 0x8F6D, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 0x8BAB, 	 0, 0x9ACE, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 0x95E6, 	 0, 	 0, 	 0, 0x919D, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 0x92C4, 	 0, 0xFA9D, 0x9AD0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
	0x966E, 	 0, 	 0, 0x9AD1, 	 0, 	 0, 0x9AD6, 	 0, /* 0xA0 */
		 0, 	 0, 0xFA9E, 0x95AD, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
	0x9AD5, 0x9ACF, 0x9AD2, 0x9AD4, 	 0, 	 0, 0x8DA4, 	 0, /* 0xB0 */
		 0, 0x95C7, 	 0, 	 0, 	 0, 0x9AD7, 	 0, 0x9264, /* 0xC0 */
		 0, 	 0, 0x89F3, 	 0, 0x8FEB, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 0x9AD9, 	 0, 0x9AD8, 	 0, 0x8D88, 	 0, 0x9ADA, /* 0xD0 */
	0x9ADC, 0x9ADB, 	 0, 	 0, 0x9ADE, 	 0, 0x9AD3, 0x9AE0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 0x9ADF, 0x9ADD, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 0x8E6D, 0x9070, 	 0, 0x9173, 0x9AE1, /* 0xE0 */
	0x90BA, 0x88EB, 0x9484, 	 0, 	 0, 	 0, 	 0, 0x92D9, /* 0xF0 */
		 0, 0x9AE3, 0x9AE2, 0x9AE4, 0x9AE5, 0x9AE6					/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_59[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
					0x9AE7, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 0x95CF, 0x9AE8, 0xFA9F, 	 0, 	 0, 	 0, 0x89C4, /* 0x00 */
	0x9AE9, 	 0, 	 0, 	 0, 	 0, 0x975B, 0x8A4F, 	 0, /* 0x10 */
	0x99C7, 0x8F67, 0x91BD, 0x9AEA, 0x96E9, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 0x96B2, 	 0, 	 0, 0x9AEC, 	 0, 0x91E5, /* 0x20 */
		 0, 0x9356, 0x91BE, 0x9576, 0x9AED, 0x9AEE, 0x899B, 	 0, /* 0x20 */
		 0, 0x8EB8, 0x9AEF, 	 0, 	 0, 	 0, 	 0, 0x88CE, /* 0x30 */
	0x9AF0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9AF1, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 0x8982, 	 0, 	 0, 0x8AEF, /* 0x40 */
	0x93DE, 0x95F2, 	 0, 	 0, 	 0, 	 0, 0x9AF5, 0x9174, /* 0x40 */
	0x9AF4, 0x8C5F, 	 0, 0xFAA0, 0x967A, 0x9AF3, 	 0, 0x9385, /* 0x50 */
	0x9AF7, 	 0, 0x9AF6, 0xFAA1, 	 0, 0xFAA2, 	 0, 	 0, /* 0x50 */
	0x9AF9, 	 0, 0x9AF8, 0xFAA3, 	 0, 0x899C, 	 0, 0x9AFA, /* 0x60 */
	0x8FA7, 0x9AFC, 0x9244, 	 0, 0x9AFB, 	 0, 0x95B1, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 0x8F97, 0x937A, 	 0, 	 0, 	 0, /* 0x70 */
	0x9B40, 	 0, 	 0, 	 0, 	 0, 0x8D44, 	 0, 	 0, /* 0x70 */
		 0, 0x9B41, 0x9440, 0x94DC, 0x96CF, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 0x9444, 	 0, 	 0, 0x9B4A, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 0x8B57, 	 0, 	 0, 0x9764, 	 0, /* 0x90 */
		 0, 0x96AD, 	 0, 0x9BAA, 	 0, 0x9B42, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 0x9B45, 0xFAA4, 0x91C3, 	 0, 	 0, /* 0xA0 */
	0x9657, 	 0, 	 0, 	 0, 0x9369, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 0x9B46, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 0x9685, 0xFAA5, 0x8DC8, 	 0, 	 0, 0x8FA8, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9B47, 	 0, /* 0xC0 */
		 0, 0x8E6F, 	 0, 0x8E6E, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
	0x88B7, 0x8CC6, 	 0, 0x90A9, 0x88CF, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 0x9B4B, 0x9B4C, 	 0, 0x9B49, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x8957, 0x8AAD, 	 0, /* 0xE0 */
	0x9B48, 	 0, 0x96C3, 0x9550, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x88A6, 	 0, /* 0xF0 */
		 0, 	 0, 	 0, 0x88F7, 	 0, 	 0, 	 0, 0x8E70	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_5A[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0x88D0, 	 0, 0x88A1, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 0x9B51, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 0x9B4F, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
	0x96BA, 	 0, 0x9B52, 	 0, 0x9B50, 	 0, 	 0, 0x9B4E, /* 0x10 */
	0x9050, 	 0, 	 0, 	 0, 	 0, 0x9B4D, 	 0, 	 0, /* 0x20 */
		 0, 0x95D8, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8CE2, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9B56, 0x9B57, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 0x8FA9, 	 0, 	 0, 	 0, /* 0x30 */
	0x9B53, 0x984B, 	 0, 	 0, 	 0, 	 0, 0x946B, 	 0, /* 0x40 */
		 0, 0x9B55, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 0x8DA5, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 0x9B58, 	 0, 	 0, 	 0, 0x9577, 	 0, /* 0x60 */
		 0, 	 0, 0x9B59, 	 0, 0x9B54, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x96B9, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 0x947D, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 0x9B5A, 0x9551, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 0x9B5B, 0x9B5F, 0x9B5C, 	 0, /* 0xB0 */
		 0, 0x89C5, 0x9B5E, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 0x8EB9, 	 0, 0x9B5D, 0x8C99, 	 0, 	 0, 	 0, /* 0xC0 */
	0x9B6B, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9B64, 0x9B61, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 0x9284, 	 0, 0x9B60, 	 0, 	 0, 0x9B62, 	 0, /* 0xE0 */
		 0, 0x9B63, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 	 0, 0x9B65, 0x9B66									/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_5B[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
																	/* 0x00 */
			0x8AF0, 	 0, 0x9B68, 0x9B67, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9B69, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 0x8FEC, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 0x9B6C, 	 0, 0x92DA, 	 0, 	 0, 	 0, /* 0x20 */
	0x8964, 	 0, 0x9B6A, 	 0, 	 0, 	 0, 0x9B6D, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9B6E, 	 0, /* 0x30 */
	0x9B71, 	 0, 	 0, 0x9B6F, 	 0, 0x9B70, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
	0x8E71, 0x9B72, 	 0, 	 0, 0x8D45, 0x9B73, 0xFAA6, 0x8E9A, /* 0x50 */
	0x91B6, 	 0, 0x9B74, 0x9B75, 0x8E79, 0x8D46, 	 0, 0x96D0, /* 0x50 */
		 0, 	 0, 	 0, 0x8B47, 0x8CC7, 0x9B76, 0x8A77, 	 0, /* 0x60 */
		 0, 0x9B77, 	 0, 0x91B7, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
	0x9B78, 0x9BA1, 	 0, 0x9B79, 	 0, 0x9B7A, 	 0, 	 0, /* 0x70 */
	0x9B7B, 	 0, 0x9B7D, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
	0x9B7E, 	 0, 	 0, 0x9B80, 	 0, 0x91EE, 	 0, 0x8946, /* 0x80 */
	0x8EE7, 0x88C0, 	 0, 0x9176, 0x8AAE, 0x8EB3, 	 0, 0x8D47, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9386, 	 0, 0x8F40, /* 0x90 */
	0x8AAF, 0x9288, 0x92E8, 0x88B6, 0x8B58, 0x95F3, 	 0, 0x8EC0, /* 0x90 */
		 0, 	 0, 0x8B71, 0x90E9, 0x8EBA, 0x9747, 0x9B81, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8B7B, 	 0, /* 0xA0 */
	0x8DC9, 	 0, 	 0, 0x8A51, 0x8983, 0x8FAA, 0x89C6, 	 0, /* 0xB0 */
	0x9B82, 0x9765, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8F68, /* 0xB0 */
	0xFAA7, 	 0, 0x8EE2, 0x9B83, 0x8AF1, 0x93D0, 0x96A7, 0x9B84, /* 0xC0 */
		 0, 0x9B85, 	 0, 	 0, 0x9578, 	 0, 	 0, 	 0, /* 0xC0 */
	0x9B87, 	 0, 0x8AA6, 0x8BF5, 0x9B86, 	 0, 	 0, 	 0, /* 0xD0 */
	0xFAA9, 	 0, 	 0, 0x8AB0, 	 0, 0x9051, 0x9B8B, 0x8E40, /* 0xD0 */
		 0, 0x89C7, 0x9B8A, 	 0, 0x9B88, 0x9B8C, 0x9B89, 0x944A, /* 0xE0 */
	0x9ECB, 0x9052, 	 0, 0x9B8D, 0xFAAA, 	 0, 0x97BE, 	 0, /* 0xE0 */
	0x9B8E, 	 0, 	 0, 0x9B90, 	 0, 0x929E, 0x9B8F, 	 0, /* 0xF0 */
	0x90A1, 	 0, 0x8E9B, 	 0, 	 0, 	 0, 0x91CE, 0x8EF5	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_5C[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0x9595, 0x90EA, 	 0, 0x8ECB, 0x9B91, 0x8FAB, 0x9B92, /* 0x00 */
	0x9B93, 0x88D1, 0x91B8, 0x9071, 	 0, 0x9B94, 0x93B1, 0x8FAC, /* 0x00 */
		 0, 0x8FAD, 	 0, 0x9B95, 	 0, 	 0, 0x90EB, 	 0, /* 0x10 */
		 0, 	 0, 0x8FAE, 	 0, 	 0, 	 0, 0xFAAB, 	 0, /* 0x10 */
	0x9B96, 	 0, 0x9B97, 	 0, 0x96DE, 	 0, 	 0, 	 0, /* 0x20 */
	0x9B98, 	 0, 	 0, 	 0, 	 0, 0x8BC4, 	 0, 	 0, /* 0x20 */
		 0, 0x8F41, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
	0x9B99, 0x9B9A, 0x8EDA, 0x904B, 0x93F2, 0x9073, 0x94F6, 0x9441, /* 0x30 */
	0x8BC7, 0x9B9B, 	 0, 	 0, 	 0, 0x8B8F, 0x9B9C, 	 0, /* 0x40 */
	0x8BFC, 	 0, 0x93CD, 0x89AE, 	 0, 0x8E72, 0x9B9D, 0x9BA0, /* 0x40 */
	0x9B9F, 0x8BFB, 	 0, 0x9B9E, 	 0, 0x9357, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x91AE, 	 0, /* 0x50 */
	0x936A, 0x8EC6, 	 0, 	 0, 0x9177, 0x979A, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 0x9BA2, 	 0, 0x9BA3, 0x93D4, /* 0x60 */
		 0, 0x8E52, 	 0, 	 0, 	 0, 	 0, 0x9BA5, 	 0, /* 0x70 */
		 0, 0x9BA6, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 0x9BA7, 	 0, 	 0, 	 0, /* 0x80 */
	0x8AF2, 0x9BA8, 	 0, 	 0, 0x9BA9, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 0x89AA, 	 0, 	 0, 	 0, 	 0, 0xFAAC, 	 0, /* 0xA0 */
	0x915A, 0x8AE2, 	 0, 0x9BAB, 0x96A6, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 0x91D0, 	 0, 0x8A78, 	 0, 	 0, 0x9BAD, 0x9BAF, /* 0xB0 */
	0x8ADD, 	 0, 0xFAAD, 0x9BAC, 0x9BAE, 	 0, 0x9BB1, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9BB0, 	 0, 0x9BB2, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 0x9BB3, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
	0x93BB, 0x8BAC, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
	0x89E3, 0x9BB4, 0x9BB9, 	 0, 	 0, 0x9BB7, 	 0, 0x95F5, /* 0xE0 */
	0x95F4, 	 0, 	 0, 	 0, 	 0, 0xFAAE, 0x9387, 	 0, /* 0xF0 */
		 0, 	 0, 0x9BB6, 0x8F73, 	 0, 0x9BB5					/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_5D[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
															0x9092, /* 0x00 */
		 0, 	 0, 	 0, 0x9BBA, 	 0, 	 0, 0x8DE8, 	 0, /* 0x00 */
		 0, 0x9BC0, 	 0, 	 0, 0x9BC1, 0x9BBB, 0x8A52, 0x9BBC, /* 0x10 */
	0x9BC5, 0x9BC4, 0x9BC3, 0x9BBF, 	 0, 	 0, 	 0, 0x9BBE, /* 0x10 */
		 0, 	 0, 0x9BC2, 	 0, 	 0, 	 0, 	 0, 0xFAAF, /* 0x20 */
		 0, 0x95F6, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 0xFAB2, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 0x9BC9, 0x9BC6, 	 0, 0x9BC8, 	 0, /* 0x40 */
	0x9792, 	 0, 0x9BC7, 0xFAB0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 0x9BBD, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 0x9093, 	 0, 	 0, 0x9BCA, 0xFAB3, 	 0, 0x8DB5, /* 0x60 */
		 0, 	 0, 	 0, 0x9BCB, 	 0, 	 0, 0x9BCC, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 0x9BCF, 	 0, 0x9BCE, 	 0, 	 0, 0x9BCD, /* 0x80 */
		 0, 	 0, 	 0, 0x9388, 0x9BB8, 	 0, 	 0, 	 0, /* 0x80 */
	0x9BD5, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9BD1, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 0x9BD0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 0x9BD2, 	 0, 0x9BD3, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9BD6, /* 0xB0 */
	0xFAB4, 0xFAB5, 0x97E4, 	 0, 0x9BD7, 0x9BD4, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 0x9BD8, 	 0, 	 0, 0x8ADE, 0x9BD9, 	 0, 	 0, /* 0xC0 */
	0xFAB6, 	 0, 0x9BDB, 0x9BDA, 	 0, 	 0, 0x9BDC, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 0x9BDD, 	 0, 0x90EC, 0x8F42, 	 0, /* 0xD0 */
		 0, 0x8F84, 	 0, 0x9183, 	 0, 0x8D48, 0x8DB6, 0x8D49, /* 0xE0 */
	0x8B90, 	 0, 	 0, 0x9BDE, 	 0, 	 0, 0x8DB7, 	 0, /* 0xE0 */
		 0, 0x8CC8, 0x9BDF, 0x96A4, 0x9462, 0x9BE0, 	 0, 0x8D4A, /* 0xF0 */
		 0, 	 0, 	 0, 0x8AAA, 	 0, 0x9246, 0x8BD0			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_5E[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
					0x8E73, 0x957A, 	 0, 	 0, 0x94BF, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 0x9BE1, 0x8AF3, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 0x9BE4, 	 0, 	 0, 	 0, 	 0, 0x929F, 	 0, /* 0x10 */
		 0, 0x9BE3, 0x9BE2, 0x9BE5, 	 0, 0x92E9, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9083, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 0x8E74, 	 0, 0x90C8, 	 0, 0x91D1, /* 0x20 */
	0x8B41, 	 0, 	 0, 0x92A0, 	 0, 	 0, 0x9BE6, 0x9BE7, /* 0x30 */
	0x8FED, 	 0, 	 0, 	 0, 	 0, 0x9658, 	 0, 	 0, /* 0x30 */
	0x9BEA, 	 0, 	 0, 0x9BE9, 0x9BE8, 0x959D, 	 0, 0x9BF1, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 0x9679, 	 0, 0x9BEB, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 0x9BED, 0x968B, 	 0, 0x9BEC, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9BEE, /* 0x50 */
		 0, 0x94A6, 0x9BEF, 0x95BC, 0x9BF0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 0x8AB1, 0x95BD, 0x944E, 0x9BF2, 0x9BF3, 	 0, /* 0x70 */
	0x8D4B, 0x8AB2, 0x9BF4, 0x8CB6, 0x9763, 0x9748, 0x8AF4, 0x9BF6, /* 0x70 */
		 0, 0x92A1, 	 0, 0x8D4C, 0x8FAF, 	 0, 	 0, 0x94DD, /* 0x80 */
		 0, 	 0, 0x8FB0, 	 0, 	 0, 	 0, 	 0, 0x8F98, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x92EA, 0x95F7, 0x9358, /* 0x90 */
		 0, 	 0, 0x8D4D, 	 0, 0x957B, 	 0, 	 0, 	 0, /* 0x90 */
	0x9BF7, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9378, 0x8DC0, /* 0xA0 */
		 0, 	 0, 	 0, 0x8CC9, 	 0, 0x92EB, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x88C1, 0x8F8E, 0x8D4E, /* 0xB0 */
	0x9766, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 0x9BF8, 0x9BF9, 0x9470, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
	0x9BFA, 0x97F5, 0x984C, 	 0, 	 0, 	 0, 	 0, 0x9BFC, /* 0xC0 */
	0x9BFB, 	 0, 	 0, 0x8A66, 	 0, 	 0, 0x9C40, 	 0, /* 0xD0 */
		 0, 	 0, 0x9C43, 0x9C44, 	 0, 0x9C42, 	 0, 0x955F, /* 0xD0 */
	0x8FB1, 0x9C46, 0x9C45, 0x9C41, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
	0x9C47, 0x9C48, 	 0, 	 0, 0x9C49, 	 0, 	 0, 	 0, /* 0xE0 */
	0x9C4C, 0x9C4A, 	 0, 0x9C4B, 0x9C4D, 	 0, 0x8984, 0x92EC, /* 0xF0 */
	0x9C4E, 	 0, 0x8C9A, 0x89F4, 0x9455, 	 0, 0x9C4F, 0x93F9	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_5F[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0x95D9, 	 0, 0x9C50, 0x984D, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 0x9C51, 0x95BE, 0x9C54, 0x989F, 0x98AF, 	 0, 0x8EAE, /* 0x00 */
	0x93F3, 0x9C55, 	 0, 0x8B7C, 0x92A2, 0x88F8, 0x9C56, 0x95A4, /* 0x10 */
	0x8D4F, 	 0, 	 0, 0x926F, 	 0, 	 0, 	 0, 0x92ED, /* 0x10 */
		 0, 0xFAB7, 	 0, 	 0, 	 0, 0x96ED, 0x8CB7, 0x8CCA, /* 0x20 */
		 0, 0x9C57, 	 0, 	 0, 	 0, 0x9C58, 	 0, 0x9C5E, /* 0x20 */
		 0, 0x8EE3, 	 0, 	 0, 0xFAB8, 0x92A3, 	 0, 0x8BAD, /* 0x30 */
	0x9C59, 	 0, 	 0, 	 0, 0x954A, 	 0, 0x9265, 	 0, /* 0x30 */
		 0, 0x9C5A, 	 0, 	 0, 	 0, 0xFA67, 	 0, 	 0, /* 0x40 */
	0x9C5B, 	 0, 0x8BAE, 	 0, 0x9C5C, 	 0, 0x9C5D, 	 0, /* 0x40 */
		 0, 0x9C5F, 	 0, 0x9396, 	 0, 	 0, 0x9C60, 0x9C61, /* 0x50 */
		 0, 0x9C62, 	 0, 	 0, 0x9C53, 0x9C52, 	 0, 	 0, /* 0x50 */
		 0, 0x9C63, 0x8C60, 	 0, 	 0, 	 0, 0x9546, 0xFAB9, /* 0x60 */
		 0, 0x8DCA, 0x9556, 0x92A4, 0x956A, 0x9C64, 	 0, 	 0, /* 0x60 */
	0x8FB2, 0x8965, 	 0, 0x9C65, 	 0, 	 0, 	 0, 0x9C66, /* 0x70 */
		 0, 0x96F0, 	 0, 	 0, 0x94DE, 	 0, 	 0, 0x9C69, /* 0x70 */
	0x899D, 0x90AA, 0x9C68, 0x9C67, 0x8C61, 0x91D2, 	 0, 0x9C6D, /* 0x80 */
	0x9C6B, 	 0, 0x9C6A, 0x97A5, 0x8CE3, 	 0, 	 0, 	 0, /* 0x80 */
	0x8F99, 0x9C6C, 0x936B, 0x8F5D, 	 0, 	 0, 	 0, 0x93BE, /* 0x90 */
	0x9C70, 0x9C6F, 	 0, 	 0, 	 0, 	 0, 0x9C6E, 	 0, /* 0x90 */
	0x9C71, 0x8CE4, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
	0x9C72, 0x959C, 0x8F7A, 	 0, 	 0, 0x9C73, 0x94F7, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 0x93BF, 0x92A5, 	 0, 	 0, 0xFABA, /* 0xB0 */
		 0, 0x934F, 	 0, 	 0, 0x9C74, 0x8B4A, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 0x9053, 	 0, 0x954B, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 0x8AF5, 0x9445, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9C75, 0x8E75, /* 0xD0 */
	0x9659, 0x965A, 	 0, 	 0, 0x899E, 0x9C7A, 0xFABB, 	 0, /* 0xD0 */
	0x9289, 	 0, 	 0, 	 0, 0x9C77, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 0x89F5, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
	0x9CAB, 0x9C79, 	 0, 	 0, 	 0, 0x944F, 	 0, 	 0, /* 0xF0 */
	0x9C78, 	 0, 	 0, 0x9C76, 	 0, 0x8D9A, 	 0, 0x9C7C	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_60[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
																	/* 0x00 */
													0x9C83, 0x9C89, /* 0x00 */
	0x9C81, 	 0, 0x937B, 	 0, 	 0, 0x9C86, 0x957C, 	 0, /* 0x10 */
		 0, 0x9C80, 	 0, 0x9C85, 0x97E5, 0x8E76, 	 0, 	 0, /* 0x10 */
	0x91D3, 0x9C7D, 	 0, 	 0, 	 0, 0x8B7D, 0x9C88, 0x90AB, /* 0x20 */
	0x8985, 0x9C82, 0x89F6, 0x9C87, 	 0, 	 0, 	 0, 0x8BAF, /* 0x20 */
		 0, 0x9C84, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 0x9C8A, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 0x9C8C, 0x9C96, 0x9C94, 	 0, 	 0, 0x9C91, 	 0, /* 0x40 */
		 0, 	 0, 0x9C90, 0x97F6, 	 0, 0x9C92, 	 0, 	 0, /* 0x40 */
	0x8BB0, 	 0, 0x8D50, 	 0, 	 0, 0x8F9A, 	 0, 	 0, /* 0x50 */
		 0, 0x9C99, 0x9C8B, 	 0, 	 0, 0xFABC, 	 0, 0x9C8F, /* 0x50 */
	0x9C7E, 	 0, 0x89F8, 0x9C93, 0x9C95, 0x9270, 	 0, 	 0, /* 0x60 */
	0x8DA6, 0x89B6, 0x9C8D, 0x9C98, 0x9C97, 0x8BB1, 	 0, 0x91A7, /* 0x60 */
	0x8A86, 	 0, 	 0, 	 0, 	 0, 0x8C62, 	 0, 0x9C8E, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 0x9C9A, 	 0, 0x9C9D, 0x9C9F, 0xFABD, 	 0, 	 0, /* 0x80 */
		 0, 0x8EBB, 0xFABE, 0x9CA5, 0x92EE, 0x9C9B, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 0x9CA3, 	 0, 0x89F7, 	 0, 0x9CA1, 0x9CA2, /* 0x90 */
		 0, 	 0, 0x9C9E, 0x9CA0, 	 0, 	 0, 	 0, 0x8CE5, /* 0x90 */
	0x9749, 	 0, 	 0, 0x8AB3, 	 0, 	 0, 0x8978, 0x9CA4, /* 0xA0 */
		 0, 0x9459, 0x88AB, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 0x94DF, 0x9C7B, 0x9CAA, 0x9CAE, 0x96E3, 	 0, /* 0xB0 */
	0x9CA7, 	 0, 	 0, 	 0, 0x9389, 0x9CAC, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x8FEE, 0x9CAD, 0x93D5, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 0x9866, 	 0, 0x9CA9, 	 0, 0xFAC0, 	 0, 	 0, /* 0xD0 */
	0x9CAF, 	 0, 0x8D9B, 	 0, 0x90C9, 	 0, 0xFABF, 0x88D2, /* 0xD0 */
	0x9CA8, 0x9CA6, 	 0, 0x9179, 	 0, 	 0, 	 0, 0x9C9C, /* 0xE0 */
	0x8E53, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
	0x91C4, 0x9CBB, 0xFAC2, 0x917A, 0x9CB6, 	 0, 0x9CB3, 0x9CB4, /* 0xF0 */
		 0, 0x8EE4, 0x9CB7, 0x9CBA									/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_61[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x9CB5, 0x8F44, 	 0, 0x9CB8, 	 0, 	 0, 0x9CB2, 	 0, /* 0x00 */
	0x96FA, 0x96F9, 	 0, 	 0, 	 0, 0x9CBC, 0x9CBD, 0x88D3, /* 0x00 */
		 0, 0xFAC3, 	 0, 	 0, 	 0, 0x9CB1, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 0x8BF0, 0x88A4, 	 0, 	 0, 	 0, 0x8AB4, /* 0x10 */
	0xFAC1, 0x9CB9, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9CC1, /* 0x20 */
	0x9CC0, 	 0, 	 0, 	 0, 0x9CC5, 	 0, 	 0, 	 0, /* 0x20 */
	0xFAC5, 	 0, 	 0, 	 0, 0x9CC6, 	 0, 	 0, 0xFAC4, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 0x9CC4, 0x9CC7, 0x9CBF, 0x9CC3, /* 0x30 */
		 0, 	 0, 0x9CC8, 	 0, 0x9CC9, 	 0, 	 0, 0x9CBE, /* 0x40 */
	0x8E9C, 	 0, 0x9CC2, 0x91D4, 0x8D51, 0x9CB0, 0x9054, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 0x9CD6, 	 0, 0x95E7, 	 0, 	 0, /* 0x50 */
	0x9CCC, 0x9CCD, 0x9CCE, 	 0, 	 0, 0x9CD5, 	 0, 0x9CD4, /* 0x50 */
		 0, 	 0, 0x969D, 0x8AB5, 	 0, 0x9CD2, 	 0, 0x8C64, /* 0x60 */
	0x8A53, 	 0, 	 0, 0x9CCF, 	 0, 	 0, 0x97B6, 0x9CD1, /* 0x60 */
	0x88D4, 0x9CD3, 	 0, 0x9CCA, 0x9CD0, 0x9CD7, 0x8C63, 0x9CCB, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x977C, 	 0, /* 0x70 */
		 0, 	 0, 0x974A, 	 0, 	 0, 	 0, 	 0, 0x9CDA, /* 0x80 */
		 0, 	 0, 0x9CDE, 	 0, 	 0, 	 0, 0x919E, 	 0, /* 0x80 */
	0x97F7, 0x9CDF, 	 0, 	 0, 0x9CDC, 	 0, 0x9CD9, 	 0, /* 0x90 */
	0xFAC6, 0x9CD8, 0x9CDD, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 0x95AE, 	 0, 	 0, 0x93B2, /* 0xA0 */
		 0, 0x8C65, 	 0, 0x9CE0, 0x9CDB, 	 0, 0x9CE1, 	 0, /* 0xA0 */
		 0, 	 0, 0x8C9B, 	 0, 	 0, 	 0, 0x89AF, 	 0, /* 0xB0 */
		 0, 	 0, 0x9CE9, 	 0, 	 0, 	 0, 0x8AB6, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 0x9CE7, 	 0, 	 0, 0x9CE8, 0x8DA7, /* 0xC0 */
	0x9CE6, 0x9CE4, 0x9CE3, 0x9CEA, 0x9CE2, 0x9CEC, 	 0, 	 0, /* 0xC0 */
	0x89F9, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 0x9CEE, 	 0, 	 0, 0x9CED, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 0x92A6, 	 0, 0x9CF1, 	 0, 0x9CEF, 0x9CE5, /* 0xF0 */
	0x8C9C, 	 0, 0x9CF0, 	 0, 0x9CF4, 0x9CF3, 0x9CF5, 0x9CF2	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_62[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x9CF6, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
	0x9CF7, 0x9CF8, 0x95E8, 	 0, 0x9CFA, 0x9CF9, 0x8F5E, 	 0, /* 0x00 */
	0x90AC, 0x89E4, 0x89FA, 0xFAC7, 0x9CFB, 	 0, 0x88BD, 	 0, /* 0x10 */
		 0, 	 0, 0x90CA, 0x9CFC, 	 0, 0xE6C1, 0x9D40, 0x8C81, /* 0x10 */
		 0, 0x9D41, 	 0, 	 0, 	 0, 	 0, 0x90ED, 	 0, /* 0x20 */
		 0, 	 0, 0x9D42, 	 0, 	 0, 	 0, 0x9D43, 0x8B59, /* 0x20 */
	0x9D44, 	 0, 0x9D45, 0x9D46, 0x91D5, 	 0, 	 0, 	 0, /* 0x30 */
	0x8CCB, 	 0, 	 0, 0x96DF, 	 0, 	 0, 	 0, 0x965B, /* 0x30 */
	0x8F8A, 0x9D47, 	 0, 	 0, 	 0, 	 0, 	 0, 0x90EE, /* 0x40 */
	0xE7BB, 0x94E0, 	 0, 0x8EE8, 	 0, 0x8DCB, 0x9D48, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 0x91C5, 	 0, 0x95A5, 	 0, 	 0, /* 0x50 */
	0x91EF, 	 0, 	 0, 0x9D4B, 	 0, 	 0, 0x9D49, 	 0, /* 0x50 */
	0x9D4C, 	 0, 	 0, 0x9D4A, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
	0x9D4D, 	 0, 	 0, 	 0, 	 0, 	 0, 0x95AF, 	 0, /* 0x60 */
		 0, 0x88B5, 	 0, 	 0, 	 0, 	 0, 0x957D, 	 0, /* 0x70 */
		 0, 0x94E1, 	 0, 	 0, 0x9D4E, 	 0, 0x9D51, 0x8FB3, /* 0x70 */
	0x8B5A, 	 0, 0x9D4F, 0x9D56, 0x8FB4, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 0x9D50, 0x9463, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 0x977D, 0x9D52, 0x9D53, 0x9D57, 0x938A, 0x9D54, 0x8D52, /* 0x90 */
	0x90DC, 	 0, 	 0, 0x9D65, 0x94B2, 	 0, 0x91F0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xFAC8, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 0x94E2, 0x9DAB, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 0x95F8, 	 0, 	 0, 	 0, 0x92EF, 	 0, 	 0, /* 0xB0 */
		 0, 0x9695, 	 0, 0x9D5A, 0x899F, 0x928A, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 0x9D63, 	 0, 	 0, 0x9253, 0x9D5D, 0x9D64, /* 0xC0 */
	0x9D5F, 0x9D66, 0x9D62, 	 0, 0x9D61, 0x948F, 	 0, 0x9D5B, /* 0xC0 */
	0x89FB, 0x9D59, 0x8B91, 0x91F1, 0x9D55, 	 0, 	 0, 0x9D58, /* 0xD0 */
	0x8D53, 0x90D9, 	 0, 0x8FB5, 0x9D60, 0x9471, 	 0, 	 0, /* 0xD0 */
	0x8B92, 0x8A67, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 0x8A87, 0x9040, 0x9D68, 0x9D6D, /* 0xE0 */
		 0, 0x9D69, 	 0, 0x8C9D, 	 0, 0x9D6E, 0x8E41, 0x8D89, /* 0xF0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8F45, 0x9D5C	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_63[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0x8E9D, 0x9D6B, 	 0, 	 0, 	 0, 	 0, 0x8E77, /* 0x00 */
	0x9D6C, 0x88C2, 	 0, 	 0, 0x9D67, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 0x92A7, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 0x8B93, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8BB2, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9D6A, /* 0x20 */
	0x88A5, 	 0, 	 0, 0x8DC1, 	 0, 	 0, 	 0, 0x9055, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 0x92F0, 	 0, 	 0, 0x94D2, 0x9D70, 0x917D, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 0x91A8, 	 0, 	 0, 0x8E4A, 0x9D71, 	 0, 0x9D73, /* 0x40 */
	0x9D6F, 	 0, 	 0, 	 0, 	 0, 0x95DF, 	 0, 0x92BB, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 0x917B, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x95F9, /* 0x60 */
	0x8ECC, 0x9D80, 	 0, 0x9D7E, 	 0, 	 0, 0x9098, 	 0, /* 0x60 */
		 0, 	 0, 0x8C9E, 	 0, 	 0, 	 0, 0x9D78, 0x8FB7, /* 0x70 */
		 0, 	 0, 0x93E6, 0x9450, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
	0x9D76, 	 0, 	 0, 0x917C, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
	0x8EF6, 0x9D7B, 	 0, 	 0, 0x8FB6, 	 0, 0x9D75, 0x9D7A, /* 0x80 */
		 0, 	 0, 0x9472, 	 0, 	 0, 	 0, 0x9D74, 	 0, /* 0x90 */
	0x8C40, 	 0, 	 0, 0x8A7C, 	 0, 	 0, 	 0, 0x9D7C, /* 0x90 */
	0x97A9, 0x8DCC, 0x9254, 0x9D79, 	 0, 0x90DA, 	 0, 0x8D54, /* 0xA0 */
	0x9084, 0x8986, 0x915B, 0x9D77, 0x8B64, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 0x8C66, 	 0, 0x92CD, 0x9D7D, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 0x917E, 	 0, 	 0, 0x9D81, 	 0, /* 0xB0 */
	0x9D83, 	 0, 	 0, 0x91B5, 0x9D89, 	 0, 0x9D84, 	 0, /* 0xC0 */
		 0, 0x9D86, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9560, /* 0xC0 */
	0x92F1, 	 0, 0x9D87, 	 0, 	 0, 	 0, 0x974B, 	 0, /* 0xD0 */
		 0, 	 0, 0x9767, 0x8AB7, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 0x88AC, 	 0, 0x9D85, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 0x9D82, 	 0, 	 0, 	 0, 	 0, 0x8AF6, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 0x8987, 0xFAC9, 0x9D88, 	 0, /* 0xF0 */
		 0, 	 0, 0x9768											/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_64[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
													0x9D8C, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x91B9, 	 0, 0x9D93, /* 0x00 */
		 0, 	 0, 	 0, 0x9D8D, 	 0, 	 0, 0x9D8A, 0x9D91, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 0x9D72, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9D8E, 	 0, /* 0x20 */
	0x9D92, 	 0, 	 0, 	 0, 0x94C0, 0x938B, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 0x9D8B, 	 0, 0x9D8F, 	 0, /* 0x30 */
		 0, 	 0, 0x8C67, 	 0, 	 0, 	 0, 0x8DEF, 	 0, /* 0x30 */
		 0, 	 0, 0x90DB, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9D97, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
	0x9345, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
	0xFACA, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9D94, /* 0x60 */
		 0, 0x9680, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9D95, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9D96, 	 0, /* 0x70 */
	0x96CC, 	 0, 0x90A0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 0x8C82, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
	0x9D9D, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 0x8E54, 0x9D9A, 	 0, 0x9D99, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 0x9451, 	 0, 	 0, 0xFACB, 0x93B3, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 0x9350, 0x9D9B, 	 0, 	 0, /* 0xA0 */
		 0, 0x9D9C, 	 0, 0x958F, 	 0, 0x9464, 0x8E42, 	 0, /* 0xA0 */
	0x90EF, 	 0, 0x966F, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 0x8A68, 	 0, 0x9DA3, 0x9D9E, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 0x9769, 0x9DA5, 	 0, 	 0, 0x9DA1, 	 0, 0x9DA2, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9180, 0xFACC, 	 0, /* 0xC0 */
		 0, 	 0, 0x9DA0, 	 0, 0x9D5E, 	 0, 	 0, 	 0, /* 0xD0 */
	0x9DA4, 	 0, 0x9D9F, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
	0x9DA9, 0x9DAA, 0x9346, 0x9DAC, 	 0, 	 0, 0x8E43, 0x9DA7, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 0x8B5B, 	 0, 	 0, 0x9DAD, /* 0xE0 */
		 0, 0x9DA6, 0x9DB1, 	 0, 0x9DB0, 	 0, 0x9DAF, 	 0, /* 0xF0 */
		 0, 	 0, 0x9DB2, 	 0, 	 0, 0x9DB4, 0x8FEF			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_65[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x9DB3, 	 0, 	 0, 	 0, 	 0, 0x9DB7, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
	0x9DB5, 	 0, 	 0, 	 0, 0x9DB6, 0x9D90, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 0x9DB9, 0x9DB8, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 0x9D98, 0x9DBA, 0x9DAE, 	 0, 	 0, 0x8E78, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 0x9DBB, 0x9DBC, 0x9DBE, 0x9DBD, /* 0x30 */
	0x9DBF, 0x89FC, 	 0, 0x8D55, 	 0, 	 0, 0x95FA, 0x90AD, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x8CCC, 	 0, 	 0, /* 0x40 */
	0x9DC1, 	 0, 	 0, 	 0, 	 0, 0x9DC4, 0xFACD, 0x9571, /* 0x40 */
		 0, 0x8B7E, 	 0, 	 0, 	 0, 0x9DC3, 0x9DC2, 0x9473, /* 0x50 */
	0x9DC5, 0x8BB3, 	 0, 	 0, 	 0, 0x9DC7, 0x9DC6, 	 0, /* 0x50 */
		 0, 	 0, 0x8AB8, 0x8E55, 	 0, 	 0, 0x93D6, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 0x8C68, 	 0, 	 0, 	 0, /* 0x60 */
	0x9094, 	 0, 0x9DC8, 	 0, 0x90AE, 0x9347, 	 0, 0x957E, /* 0x70 */
	0x9DC9, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 0x9DCA, 0x9DCB, 	 0, 	 0, 	 0, 0x95B6, /* 0x80 */
	0x9B7C, 0x90C4, 	 0, 	 0, 0x956B, 	 0, 0x8DD6, 	 0, /* 0x80 */
	0x94E3, 0x94C1, 	 0, 	 0, 	 0, 	 0, 	 0, 0x936C, /* 0x90 */
		 0, 0x97BF, 	 0, 0x9DCD, 0x8ECE, 	 0, 	 0, 0x9DCE, /* 0x90 */
		 0, 0x88B4, 	 0, 	 0, 0x8BD2, 0x90CB, 	 0, 0x9580, /* 0xA0 */
		 0, 	 0, 	 0, 0x9DCF, 0x8E61, 0x9266, 	 0, 0x8E7A, /* 0xA0 */
	0x9056, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9DD0, /* 0xB0 */
		 0, 0x95FB, 	 0, 	 0, 0x8997, 0x8E7B, 	 0, 	 0, /* 0xB0 */
		 0, 0x9DD3, 	 0, 0x9DD1, 0x9DD4, 0x97B7, 0x9DD2, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 0x90F9, 0x9DD5, 	 0, 	 0, 0x91B0, /* 0xC0 */
		 0, 	 0, 0x9DD6, 	 0, 	 0, 	 0, 	 0, 0x8AF8, /* 0xD0 */
		 0, 0x9DD8, 	 0, 0x9DD7, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
	0x9DD9, 0x9DDA, 0x8AF9, 	 0, 	 0, 0x93FA, 0x9255, 0x8B8C, /* 0xE0 */
	0x8E7C, 0x9181, 	 0, 	 0, 0x8F7B, 0x88AE, 	 0, 	 0, /* 0xE0 */
		 0, 0x9DDB, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 	 0, 0x89A0, 0x9DDF									/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_66[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0xFACE, 	 0, 0x8D56, 0x9DDE, 	 0, 	 0, 0x8DA9, 0x8FB8, /* 0x00 */
		 0, 0xFAD1, 0x9DDD, 	 0, 0x8FB9, 	 0, 0x96BE, 0x8DA8, /* 0x00 */
		 0, 	 0, 	 0, 0x88D5, 0x90CC, 0xFACF, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 0x9DE4, 	 0, 0xFAD3, 0x90AF, /* 0x10 */
	0x8966, 	 0, 	 0, 	 0, 0xFAD4, 0x8F74, 	 0, 0x9686, /* 0x20 */
	0x8DF0, 	 0, 	 0, 	 0, 	 0, 0x8FBA, 0xFAD2, 0x90A5, /* 0x20 */
		 0, 0xFA63, 	 0, 	 0, 0x9DE3, 0x9DE1, 0x9DE2, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 0xFAD0, 0x928B, 	 0, 	 0, 0x9E45, /* 0x30 */
		 0, 0x9DE8, 0x8E9E, 0x8D57, 0x9DE6, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 0x9DE7, 	 0, 0x9057, 	 0, 	 0, 	 0, 0x9DE5, /* 0x40 */
		 0, 	 0, 0x8E4E, 	 0, 	 0, 	 0, 	 0, 0xFAD6, /* 0x50 */
		 0, 0xFAD7, 	 0, 	 0, 	 0, 0x9DEA, 0x9DE9, 0x9DEE, /* 0x50 */
		 0, 	 0, 0x9DEF, 	 0, 0x9DEB, 0xFAD5, 0x8A41, 0x9DEC, /* 0x60 */
	0x9DED, 0x94D3, 	 0, 	 0, 	 0, 	 0, 0x9581, 0x8C69, /* 0x60 */
	0x9DF0, 	 0, 	 0, 0xFAD9, 0x90B0, 	 0, 0x8FBB, 	 0, /* 0x70 */
		 0, 	 0, 0x9271, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 0x8BC5, 	 0, 0x9DF1, 0x9DF5, 	 0, 	 0, 0x89C9, /* 0x80 */
	0x9DF2, 0x9DF4, 	 0, 	 0, 	 0, 	 0, 0x9DF3, 	 0, /* 0x80 */
		 0, 0x8F8B, 	 0, 	 0, 	 0, 	 0, 0x9267, 0x88C3, /* 0x90 */
	0x9DF6, 0xFADA, 	 0, 	 0, 	 0, 0x9DF7, 	 0, 	 0, /* 0x90 */
	0xFADB, 	 0, 0x92A8, 	 0, 	 0, 	 0, 0x97EF, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 0x8E62, 	 0, 	 0, 0x95E9, 	 0, /* 0xA0 */
		 0, 	 0, 0xFADC, 	 0, 0x965C, 	 0, 	 0, 	 0, /* 0xB0 */
	0x9E41, 0x9DF9, 	 0, 	 0, 0x9DFC, 	 0, 0x9DFB, 0xFADD, /* 0xB0 */
		 0, 0x9DF8, 	 0, 	 0, 0x9E40, 	 0, 	 0, 0x93DC, /* 0xC0 */
		 0, 0x9DFA, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9E42, 	 0, /* 0xD0 */
		 0, 0x8F8C, 0x9E43, 	 0, 0x976A, 0x9498, 	 0, 	 0, /* 0xD0 */
	0x9E44, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9E46, 	 0, /* 0xE0 */
		 0, 0x9E47, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
	0x9E48, 	 0, 0x8BC8, 0x8967, 0x8D58, 0x9E49, 	 0, 0x9E4A, /* 0xF0 */
	0x8F91, 0x9182, 0xFADE, 0xFA66, 0x99D6, 0x915D, 0x915C, 0x91D6	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_67[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x8DC5, 	 0, 	 0, 0x98F0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
	0x8C8E, 0x974C, 	 0, 0x95FC, 	 0, 0x959E, 0xFADF, 0x9E4B, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 0x8DF1, 0x92BD, 0x9E4C, 0x984E, /* 0x10 */
		 0, 	 0, 	 0, 0x965D, 	 0, 0x92A9, 0x9E4D, 0x8AFA, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9E4E, 0x9E4F, /* 0x20 */
	0x96D8, 	 0, 0x96A2, 0x9696, 0x967B, 0x8E44, 0x9E51, 	 0, /* 0x20 */
		 0, 0x8EE9, 	 0, 	 0, 0x9670, 	 0, 0x9E53, 0x9E56, /* 0x30 */
	0x9E55, 	 0, 0x8AF7, 	 0, 	 0, 0x8B80, 	 0, 0x9E52, /* 0x30 */
		 0, 0x9E54, 	 0, 	 0, 	 0, 	 0, 0x9E57, 	 0, /* 0x40 */
		 0, 0x9099, 	 0, 	 0, 	 0, 	 0, 0x979B, 0x88C7, /* 0x40 */
	0x8DDE, 0x91BA, 	 0, 0x8EDB, 	 0, 	 0, 0x8FF1, 	 0, /* 0x50 */
		 0, 0x9E5A, 	 0, 	 0, 0x936D, 	 0, 0x9E58, 0x91A9, /* 0x50 */
	0x9E59, 0x8FF0, 0x96DB, 0x9E5B, 0x9E5C, 0x9788, 0xFAE1, 	 0, /* 0x60 */
		 0, 	 0, 0x9E61, 	 0, 	 0, 0x8D59, 	 0, 0x9474, /* 0x60 */
	0x9E5E, 0x938C, 0x9DDC, 0x9DE0, 	 0, 0x8B6E, 	 0, 0x9466, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 0x9E60, 	 0, 0x8FBC, 0x94C2, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9E66, 	 0, 0x94F8, /* 0x80 */
		 0, 0x9E5D, 	 0, 0x9E63, 0x9E62, 	 0, 	 0, 	 0, /* 0x80 */
	0x90CD, 	 0, 	 0, 	 0, 	 0, 0x968D, 	 0, 0x97D1, /* 0x90 */
		 0, 	 0, 0x9687, 	 0, 0x89CA, 0x8E7D, 	 0, 	 0, /* 0x90 */
	0x9867, 0x9E65, 0x9095, 	 0, 	 0, 	 0, 0x9E64, 	 0, /* 0xA0 */
		 0, 0x9E5F, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8CCD, /* 0xA0 */
		 0, 	 0, 	 0, 0x9E6B, 0x9E69, 	 0, 0x89CB, 0x9E67, /* 0xB0 */
	0x9E6D, 0x9E73, 	 0, 0xFAE2, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
	0xFAE4, 0x91C6, 	 0, 	 0, 0x95BF, 	 0, 0x9E75, 	 0, /* 0xC0 */
		 0, 	 0, 0x9541, 	 0, 	 0, 	 0, 0x9E74, 0x9490, /* 0xC0 */
	0x965E, 0x8AB9, 	 0, 0x90F5, 0x8F5F, 	 0, 	 0, 	 0, /* 0xD0 */
	0x92D1, 	 0, 0x974D, 	 0, 	 0, 0x9E70, 0x9E6F, 	 0, /* 0xD0 */
		 0, 	 0, 0x9E71, 	 0, 0x9E6E, 	 0, 	 0, 0x9E76, /* 0xE0 */
		 0, 0x9E6C, 	 0, 	 0, 0x9E6A, 	 0, 0x9E72, 0x9E68, /* 0xE0 */
		 0, 0x928C, 	 0, 0x96F6, 0x8EC4, 0x8DF2, 	 0, 	 0, /* 0xF0 */
		 0, 	 0, 	 0, 0x8DB8, 	 0, 	 0, 0x968F, 0x8A60	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_68[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0xFAE5, 0x92CC, 0x93C8, 0x8968, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 0x90F0, 	 0, 	 0, 0x90B2, 0x8C49, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9E78, 	 0, /* 0x10 */
		 0, 0x8D5A, 0x8A9C, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 0x9E7A, 0x8A94, 0x9E81, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 0x9E7D, 	 0, 0x90F1, 	 0, 	 0, 	 0, /* 0x30 */
	0x8A6A, 0x8DAA, 	 0, 	 0, 0x8A69, 0x8DCD, 	 0, 	 0, /* 0x30 */
	0x9E7B, 0x8C85, 0x8C6A, 0x938D, 0xFAE6, 	 0, 0x9E79, 	 0, /* 0x40 */
	0x88C4, 	 0, 	 0, 	 0, 	 0, 0x9E7C, 0x9E7E, 	 0, /* 0x40 */
	0x8BCB, 0x8C4B, 0xFAE3, 0x8ABA, 0x8B6A, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 0x9E82, 	 0, 	 0, 0x8DF7, 0x9691, 	 0, 0x8E56, /* 0x50 */
		 0, 	 0, 	 0, 0x9E83, 	 0, 	 0, 	 0, 0x954F, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 0x9E8F, 	 0, 0x89B1, 0x9E84, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9E95, 0x9E85, /* 0x70 */
		 0, 0x97C0, 	 0, 0x9E8C, 	 0, 0x947E, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9E94, 	 0, 0x9E87, /* 0x80 */
		 0, 	 0, 	 0, 0x88B2, 0x9E89, 	 0, 	 0, 0x8D5B, /* 0x90 */
		 0, 	 0, 	 0, 0x9E8B, 	 0, 0x9E8A, 	 0, 0x9E86, /* 0x90 */
	0x9E91, 	 0, 0x8FBD, 	 0, 	 0, 	 0, 0x9AEB, 0x8CE6, /* 0xA0 */
	0x979C, 	 0, 	 0, 	 0, 	 0, 0x9E88, 	 0, 0x92F2, /* 0xA0 */
	0x8A42, 0x8DAB, 	 0, 0x9E80, 	 0, 0x9E90, 0x8A81, 	 0, /* 0xB0 */
		 0, 0x9E8E, 0x9E92, 	 0, 0x938E, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 0x8AFC, 	 0, 0x9EB0, 	 0, /* 0xC0 */
	0xFA64, 0x96C7, 0x9E97, 0x8AFB, 	 0, 0x9E9E, 	 0, 0xFAE7, /* 0xC0 */
		 0, 	 0, 0x965F, 	 0, 0x9E9F, 0x9EA1, 	 0, 0x9EA5, /* 0xD0 */
	0x9E99, 	 0, 0x9249, 	 0, 	 0, 	 0, 	 0, 0x938F, /* 0xD0 */
	0x9EA9, 0x9E9C, 	 0, 0x9EA6, 	 0, 	 0, 	 0, 0x9EA0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9058, 0x9EAA, /* 0xE0 */
		 0, 	 0, 0x90B1, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 0x9EA8, 0x8ABB											/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_69[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x986F, 0x9E96, 	 0, 	 0, 0x9EA4, 0x88D6, 	 0, 	 0, /* 0x00 */
	0x9E98, 	 0, 	 0, 0x96B8, 0x9E9D, 0x9041, 0x92C5, 0x9E93, /* 0x00 */
		 0, 	 0, 0x9EA3, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 0x909A, 0x9EAD, 0x8A91, 0x8C9F, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 0x9EAF, 0x9E9A, 0x9EAE, 	 0, 0x9EA7, 0x9E9B, 	 0, /* 0x20 */
	0x9EAB, 	 0, 0x9EAC, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
	0x9EBD, 	 0, 	 0, 	 0, 0x93CC, 	 0, 0x9EA2, 	 0, /* 0x30 */
		 0, 0x9EB9, 	 0, 	 0, 	 0, 0x9EBB, 	 0, 0x92D6, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 0x976B, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 0x9596, 0x9EB6, 0x91C8, 	 0, 	 0, /* 0x50 */
		 0, 0x9EBC, 0x915E, 	 0, 0x9EB3, 0x9EC0, 0x9EBF, 	 0, /* 0x50 */
	0x93ED, 0x9EBE, 0x93E8, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
	0xFAE9, 	 0, 0x9EC2, 0x9EB5, 	 0, 0x8BC6, 0x9EB8, 0x8F7C, /* 0x60 */
		 0, 	 0, 	 0, 0x9480, 0x9EBA, 0x8BC9, 	 0, 0x9EB2, /* 0x70 */
	0x9EB4, 0x9EB1, 	 0, 	 0, 0x984F, 0x8A79, 0x9EB7, 	 0, /* 0x70 */
		 0, 0x9EC1, 0x8A54, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 0x8DE5, 	 0, 	 0, 	 0, 0x897C, 	 0, /* 0x80 */
		 0, 0x9ED2, 	 0, 	 0, 0x9850, 0x9ED5, 	 0, 	 0, /* 0x90 */
	0xFAEB, 	 0, 	 0, 0x9059, 0x9ED4, 	 0, 	 0, 	 0, /* 0x90 */
	0x9ED3, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9ED0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9EC4, 	 0, /* 0xA0 */
		 0, 0x9EE1, 0x9EC3, 	 0, 0x9ED6, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 0x9ECE, 	 0, 	 0, 0x9EC9, 0x9EC6, /* 0xB0 */
		 0, 0x9EC7, 	 0, 0x9ECF, 	 0, 	 0, 	 0, 0xEAA0, /* 0xC0 */
		 0, 	 0, 0x9ECC, 0x8D5C, 0x92C6, 0x9184, 0x9ECA, 	 0, /* 0xC0 */
	0x9EC5, 	 0, 	 0, 0x9EC8, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
	0x976C, 0x968A, 	 0, 	 0, 	 0, 0x9ECD, 0x9ED7, 	 0, /* 0xD0 */
		 0, 	 0, 0xFAEC, 	 0, 	 0, 	 0, 	 0, 0x9EDF, /* 0xE0 */
	0x9ED8, 	 0, 	 0, 0x9EE5, 	 0, 0x9EE3, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 0x9EDE, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 0x9EDD, 	 0, 0x92CE, 	 0, 0x9185, 	 0, 0x9EDB	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_6A[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
					0x9ED9, 	 0, 	 0, 0x9EE0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 0x9EE6, 0x94F3, 0x9EEC, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 0x9EE7, 0x9EEA, 0x9EE4, 	 0, 	 0, 0x9294, /* 0x10 */
		 0, 0x9557, 	 0, 0x9EDA, 	 0, 	 0, 0x9EE2, 0x8FBE, /* 0x10 */
		 0, 0x96CD, 0x9EF6, 0x9EE9, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 0x8CA0, 0x89A1, 0x8A7E, 	 0, 	 0, 0x9ED1, 	 0, /* 0x20 */
	0xFAED, 	 0, 	 0, 	 0, 	 0, 0x8FBF, 0x9EEE, 	 0, /* 0x30 */
	0x9EF5, 0x8EF7, 0x8A92, 	 0, 	 0, 0x924D, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 0x9EEB, 	 0, 0xFAEF, 0x9EF0, /* 0x40 */
	0x9EF4, 	 0, 	 0, 0x8BB4, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
	0x8B6B, 0x9EF2, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8B40, /* 0x50 */
		 0, 0x93C9, 0x9EF1, 	 0, 	 0, 	 0, 0x9EF3, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 0xFAEE, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 0x9EED, 0xFAF0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
	0x9EEF, 	 0, 	 0, 	 0, 	 0, 	 0, 0xFAF1, 0x8A80, /* 0x70 */
	0x9268, 	 0, 	 0, 	 0, 0x9EFA, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9EF8, 0x8CE7, 	 0, /* 0x80 */
	0x9EF7, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9F40, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 0x9E77, 	 0, 	 0, 	 0, /* 0x90 */
	0x9EF9, 	 0, 0x9EFB, 0x9EFC, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 0x9F4B, 	 0, 0x9F47, 	 0, 0x9E8D, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 0x9F46, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
	0x9F45, 	 0, 	 0, 0x9F42, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 0x9EE8, 0x9F44, 0x9F43, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 0x9F49, 	 0, 0x9845, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 0x9F4C, 0x8BF9, 	 0, 	 0, 0x9F48, 0x9F4A, /* 0xD0 */
		 0, 	 0, 0xFAF2, 	 0, 0xFAF3, 	 0, 	 0, 	 0, /* 0xE0 */
	0x94A5, 	 0, 0x9F4D, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 	 0, 0x9F51, 0x9F4E									/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_6B[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
									0x9793, 0x9F4F, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 0x9EDC, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 0x9F52, 	 0, 	 0, 	 0, 0x9F53, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x8954, 	 0, 0x9F55, /* 0x10 */
	0x8C87, 0x8E9F, 	 0, 0x8BD3, 	 0, 	 0, 	 0, 0x89A2, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 0x977E, 	 0, 	 0, 	 0, 	 0, 0x9F57, /* 0x30 */
	0x9F56, 0x9F59, 0x8B5C, 	 0, 	 0, 0x8BD4, 0x8ABC, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 0x9F5C, 	 0, 	 0, 	 0, 0x9F5B, /* 0x40 */
		 0, 0x9F5D, 	 0, 	 0, 0x89CC, 	 0, 0x9256, 	 0, /* 0x40 */
	0x9F5E, 	 0, 	 0, 0x8ABD, 0x9F60, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 0x9F5F, 	 0, 0x9F61, 	 0, 	 0, 	 0, 0x9F62, /* 0x50 */
		 0, 0x9F63, 0x8E7E, 0x90B3, 0x8D9F, 	 0, 0x9590, 	 0, /* 0x60 */
		 0, 0x95E0, 0x9863, 	 0, 	 0, 	 0, 	 0, 0x8E95, /* 0x60 */
		 0, 	 0, 	 0, 0x8DCE, 0x97F0, 	 0, 	 0, 	 0, /* 0x70 */
	0x9F64, 0x9F65, 	 0, 0x8E80, 	 0, 	 0, 	 0, 0x9F66, /* 0x70 */
	0x9F67, 	 0, 	 0, 0x9F69, 0x9F68, 	 0, 0x9677, 	 0, /* 0x80 */
		 0, 0x8F7D, 0x8EEA, 0x8E63, 	 0, 0x9F6A, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9F6C, 0x9042, 	 0, /* 0x90 */
	0x9F6B, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9F6D, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 0x9F6E, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 0x9F6F, 0x9F70, 	 0, 	 0, 	 0, 0x9F71, /* 0xA0 */
		 0, 0x9F73, 0x9F72, 0x9F74, 0x89A3, 0x9269, 	 0, 0x9F75, /* 0xB0 */
		 0, 	 0, 0x8E45, 0x8A6B, 0x9F76, 	 0, 	 0, 0x9361, /* 0xB0 */
	0x9ACA, 	 0, 	 0, 	 0, 	 0, 0x8B42, 0x9F77, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 0x9F78, 	 0, 0x95EA, 0x9688, 	 0, /* 0xC0 */
		 0, 	 0, 0x93C5, 0x9F79, 0x94E4, 	 0, 0xFAF4, 	 0, /* 0xD0 */
	0x94F9, 	 0, 	 0, 0x96D1, 	 0, 	 0, 	 0, 0x9F7A, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 0x9F7C, 0x9F7B, 	 0, 	 0, 0x9F7E, /* 0xE0 */
		 0, 	 0, 	 0, 0x9F7D									/* 0xF0 */
																	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_6C[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
																	/* 0x00 */
	0x9F81, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8E81, /* 0x00 */
		 0, 0x96AF, 	 0, 0x9F82, 0x9F83, 	 0, 	 0, 0x8B43, /* 0x10 */
		 0, 	 0, 	 0, 0x9F84, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 0x9F86, 0x9F85, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 0x9085, 	 0, 	 0, 0x9558, /* 0x30 */
	0x8969, 	 0, 	 0, 	 0, 	 0, 	 0, 0x94C3, 0xFAF5, /* 0x30 */
	0x92F3, 0x8F60, 0x8B81, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x94C4, 	 0, /* 0x40 */
	0x8EAC, 	 0, 	 0, 	 0, 	 0, 0x9F88, 	 0, 0x8ABE, /* 0x50 */
		 0, 	 0, 0x8998, 	 0, 0xFAF6, 0x93F0, 0x9F87, 0x8D5D, /* 0x50 */
	0x9272, 	 0, 0x9F89, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
	0x9F91, 	 0, 0x9F8A, 	 0, 	 0, 	 0, 	 0, 0xFAF8, /* 0x60 */
	0x91BF, 	 0, 0x8B82, 0x9F92, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 0x8C88, 	 0, 	 0, 0x8B44, 0x9F90, 	 0, /* 0x70 */
		 0, 0x9F8E, 0x9F8B, 0x9780, 	 0, 	 0, 0xFAF7, 	 0, /* 0x80 */
	0x92BE, 	 0, 	 0, 	 0, 0x93D7, 0x9F8C, 	 0, 	 0, /* 0x80 */
	0x9F94, 	 0, 0x9F93, 0x8C42, 	 0, 	 0, 0x89AB, 	 0, /* 0x90 */
		 0, 0x8DB9, 0x9F8D, 0x9F8F, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 0x9676, 0x91F2, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 0x9697, 	 0, 	 0, 0x9F9C, 	 0, /* 0xA0 */
		 0, 0x9F9D, 	 0, 0x89CD, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
	0x95A6, 0x96FB, 0x9F9F, 0x8EA1, 0x8FC0, 0x9F98, 0x9F9E, 0x8988, /* 0xB0 */
		 0, 0x8BB5, 	 0, 	 0, 0x9F95, 0x9F9A, 	 0, 	 0, /* 0xC0 */
		 0, 0x90F2, 0x9491, 	 0, 0x94E5, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 0x9F97, 	 0, 0x9640, 	 0, 0x9F99, /* 0xD0 */
		 0, 0x9FA2, 0xFAF9, 0x9FA0, 	 0, 0x9F9B, 	 0, 	 0, /* 0xD0 */
		 0, 0x9641, 0x9467, 0x8B83, 	 0, 0x9344, 	 0, 	 0, /* 0xE0 */
	0x928D, 	 0, 0x9FA3, 	 0, 	 0, 	 0, 	 0, 0x9FA1, /* 0xE0 */
	0x91D7, 0x9F96, 	 0, 0x896A									/* 0xF0 */
																	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_6D[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
									0xFAFA, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 0x976D, 0x9FAE, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 0x9FAD, 	 0, 	 0, 	 0, 	 0, 0x90F4, /* 0x10 */
		 0, 0x9FAA, 	 0, 0x978C, 	 0, 	 0, 0x93B4, 0x9FA4, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x92C3, 	 0, 	 0, /* 0x20 */
		 0, 0x896B, 0x8D5E, 0x9FA7, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 0x8F46, 0x9FAC, 	 0, 0x9FAB, 0x9FA6, 	 0, /* 0x30 */
	0x9FA9, 	 0, 	 0, 0x8A88, 	 0, 0x9FA8, 0x9468, 	 0, /* 0x30 */
		 0, 0x97AC, 	 0, 	 0, 0x8FF2, 0x90F3, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 0x9FB4, 0x9FB2, 	 0, 0x956C, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 0x9FAF, 0x9FB1, 	 0, 0x8959, 	 0, /* 0x60 */
		 0, 0x8D5F, 0x9851, 	 0, 0x8A5C, 	 0, 0x9582, 0xFAFC, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 0x9781, 	 0, 	 0, 0x8A43, /* 0x70 */
	0x905A, 0x9FB3, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9FB8, 	 0, 0xFAFB, /* 0x80 */
	0x8FC1, 	 0, 	 0, 	 0, 0x974F, 	 0, 0x9FB5, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 0x9FB0, 	 0, 0x9FB6, 0xFB40, 	 0, /* 0x90 */
		 0, 0x97DC, 	 0, 0x9393, 0x93C0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 0xFB41, 	 0, 	 0, 0x8A55, /* 0xA0 */
		 0, 	 0, 0x8974, 	 0, 	 0, 0x9FBC, 	 0, 	 0, /* 0xB0 */
	0x9FBF, 	 0, 	 0, 	 0, 0x97C1, 	 0, 	 0, 	 0, /* 0xB0 */
	0x9784, 	 0, 	 0, 	 0, 	 0, 0x9FC6, 0x9FC0, 0x9FBD, /* 0xC0 */
		 0, 	 0, 	 0, 0x97D2, 0x9FC3, 	 0, 	 0, 0xFB42, /* 0xC0 */
		 0, 0x8F69, 0x9FC5, 	 0, 	 0, 0x9FCA, 	 0, 	 0, /* 0xD0 */
	0x9391, 0x9FC8, 	 0, 	 0, 	 0, 	 0, 0x9FC2, 	 0, /* 0xD0 */
		 0, 0x9257, 	 0, 	 0, 0x9FC9, 	 0, 0x9FBE, 	 0, /* 0xE0 */
	0x9FC4, 	 0, 0x9FCB, 0x88FA, 0x9FC1, 	 0, 0x9FCC, 	 0, /* 0xE0 */
		 0, 0x905B, 0xFB44, 0x8F7E, 	 0, 0x95A3, 	 0, 0x8DAC, /* 0xF0 */
	0xFB43, 0x9FB9, 0x9FC7, 0x9359, 0xFB45							/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_6E[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
											0x90B4, 	 0, 0x8A89, /* 0x00 */
	0x8DCF, 0x8FC2, 0x9FBB, 0x8F61, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 0x8C6B, 	 0, 0x9FBA, 	 0, 	 0, /* 0x10 */
		 0, 0x9FD0, 0x8F8D, 0x8CB8, 	 0, 0x9FDF, 	 0, 0x9FD9, /* 0x10 */
	0x8B94, 0x936E, 	 0, 0x9FD4, 0x9FDD, 0x88AD, 0x8951, 0xFB48, /* 0x20 */
		 0, 0x89B7, 	 0, 0x9FD6, 0x91AA, 0x9FCD, 0x9FCF, 0x8D60, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
	0x9FE0, 0xFB46, 0x9FDB, 	 0, 0xFB49, 	 0, 0x9FD3, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 0x9FDA, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 0x96A9, 	 0, 	 0, 0x9FD8, 0x9FDC, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8CCE, 	 0, /* 0x50 */
	0x8FC3, 	 0, 	 0, 0x9258, 0xFB47, 	 0, 	 0, 0x9FD2, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x974E, /* 0x60 */
		 0, 	 0, 	 0, 0x9FD5, 	 0, 	 0, 0x9FCE, 0x9392, /* 0x60 */
		 0, 	 0, 0x9FD1, 	 0, 	 0, 	 0, 0x9FD7, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9870, 0x8EBC, /* 0x70 */
	0x969E, 	 0, 0x9FE1, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 0x94AC, 	 0, 	 0, 0x9FED, /* 0x80 */
	0x8CB9, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8F80, 	 0, /* 0x90 */
	0x9FE3, 	 0, 	 0, 	 0, 0x97AD, 0x8D61, 	 0, 0x9FF0, /* 0x90 */
		 0, 	 0, 0x88EC, 	 0, 	 0, 0x9FEE, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 0x9FE2, 	 0, 	 0, 	 0, 	 0, 0x9FE8, /* 0xA0 */
		 0, 	 0, 0x9FEA, 	 0, 	 0, 	 0, 0x976E, 0x9FE5, /* 0xB0 */
		 0, 	 0, 0x934D, 	 0, 	 0, 0x9FE7, 	 0, 0xFB4A, /* 0xB0 */
		 0, 	 0, 0x9FEF, 	 0, 0x9FE9, 0x96C5, 	 0, 	 0, /* 0xC0 */
		 0, 0x9FE4, 	 0, 0x8EA0, 0x9FFC, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 0x8A8A, 	 0, 0x9FE6, 0x9FEB, 0x9FEC, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x91EA, 0x91D8, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 0x9FF4, 	 0, 	 0, 0x9FFA, /* 0xE0 */
		 0, 	 0, 0x9FF8, 	 0, 0x9348, 	 0, 	 0, 0xE042, /* 0xF0 */
	0x9FF5, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9FF6, 0x9FDE	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_6F[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0x8B99, 0x9559, 	 0, 	 0, 	 0, 0x8EBD, 	 0, /* 0x00 */
		 0, 0x8D97, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9852, /* 0x00 */
		 0, 0x9FF2, 	 0, 0xE041, 0x8989, 0x9186, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
	0x9499, 	 0, 0x8ABF, 0x97F8, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 0x969F, 0x92D0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 0x9FF9, 0x9FFB, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
	0x9151, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE040, 0x9FF7, /* 0x30 */
		 0, 0x9FF1, 	 0, 	 0, 	 0, 0x8AC1, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 0x8C89, 	 0, 	 0, 	 0, /* 0x50 */
	0xE04E, 	 0, 	 0, 0xE049, 0x90F6, 	 0, 	 0, 0x8A83, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 0x8F81, 	 0, 0xE052, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE04B, 0x92AA, 0xE048, /* 0x60 */
	0x92D7, 	 0, 	 0, 	 0, 0xE06B, 	 0, 	 0, 	 0, /* 0x70 */
	0xE045, 	 0, 0xE044, 	 0, 0xE04D, 	 0, 	 0, 	 0, /* 0x70 */
	0xE047, 0xE046, 0xE04C, 	 0, 0x909F, 	 0, 0xE043, 	 0, /* 0x80 */
	0xFB4B, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE04F, 	 0, /* 0x80 */
		 0, 0xE050, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8AC0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 0xE055, 	 0, 0xE054, 0xE056, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 0xE059, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 0x9362, 	 0, 0xE053, 	 0, 0xFB4C, 	 0, 	 0, /* 0xB0 */
		 0, 0xE057, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
	0x8C83, 0x91F7, 0xE051, 0x945A, 	 0, 	 0, 0xE058, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 0xE05D, 0xE05B, 	 0, 	 0, /* 0xD0 */
	0xE05E, 	 0, 	 0, 0xE061, 	 0, 	 0, 	 0, 0xE05A, /* 0xD0 */
	0x8D8A, 0x9447, 	 0, 	 0, 0x9FB7, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 0x9794, 0xE05C, 	 0, 0xE060, 0x91F3, /* 0xE0 */
		 0, 0xE05F, 	 0, 0xE04A, 	 0, 0xFB4D, 0xE889, 	 0, /* 0xF0 */
		 0, 	 0, 0xE064, 	 0, 	 0, 	 0, 0xE068			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_70[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0xE066, 	 0, 	 0, 	 0, 0xFB4E, 	 0, 0xFB4F, /* 0x00 */
		 0, 0xE062, 	 0, 0xE063, 	 0, 	 0, 	 0, 0xE067, /* 0x00 */
		 0, 0xE065, 	 0, 	 0, 	 0, 0x956D, 	 0, 	 0, /* 0x10 */
	0xE06D, 	 0, 0xE06A, 0xE069, 	 0, 0xE06C, 0x93D2, 0xE06E, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9295, 0x91EB, /* 0x20 */
	0xFB50, 	 0, 	 0, 	 0, 0x90A3, 	 0, 	 0, 	 0, /* 0x20 */
	0xE06F, 	 0, 0xE071, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE070, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 0x9FF3, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 0xE072, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
	0x93E5, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 0xE073, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 0x89CE, 	 0, 	 0, 	 0, 0x9394, /* 0x60 */
	0x8A44, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
	0x8B84, 	 0, 	 0, 	 0, 0x8EDC, 0x8DD0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xFB51, 	 0, 	 0, /* 0x80 */
		 0, 0x9846, 0x9086, 	 0, 	 0, 	 0, 0x898A, 	 0, /* 0x80 */
		 0, 	 0, 0xE075, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 0xE074, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 0xFB52, 0xE078, 0x9259, 0xE07B, 0xE076, /* 0xA0 */
		 0, 	 0, 	 0, 0xE07A, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
	0xE079, 0x935F, 0x88D7, 0xFA62, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
	0x97F3, 	 0, 	 0, 0xE07D, 	 0, 	 0, 	 0, 0x8947, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 0xE080, 	 0, 	 0, 	 0, 0xE07E, 	 0, 0xE07C, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 0xE077, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 0x9642, 	 0, 	 0, 	 0, 0xE082					/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_71[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
									0xFB54, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 0xE081, 	 0, 	 0, 	 0, 	 0, 	 0, 0xFB53, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 0x898B, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 0xE084, 0x95B0, 	 0, 0xE083, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 0x96B3, 	 0, 	 0, 	 0, 	 0, 0x8FC5, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9152, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 0x8FC4, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xFB56, 0xFB57, /* 0x40 */
		 0, 0x97F9, 	 0, 	 0, 0xE08A, 	 0, 0x90F7, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE086, 0xE08B, 	 0, /* 0x50 */
		 0, 0x898C, 	 0, 	 0, 0xFB55, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 0xE089, 	 0, 0x9481, 0xE085, 0xE088, 0x8FC6, /* 0x60 */
		 0, 0x94CF, 	 0, 	 0, 0xE08C, 	 0, 0x8ECF, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x90F8, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 0xE08F, 	 0, 	 0, 	 0, /* 0x80 */
	0xE087, 	 0, 0x8C46, 	 0, 	 0, 	 0, 	 0, 0xE08D, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 0x976F, 0xE090, 	 0, 	 0, /* 0x90 */
		 0, 0xEAA4, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8F6E, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
	0xE091, 	 0, 	 0, 	 0, 0xE092, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 0x944D, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 0xE094, 	 0, 	 0, 	 0, 	 0, 0xE095, 	 0, /* 0xB0 */
		 0, 0xFB59, 	 0, 0x9452, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
	0x9395, 0xE097, 	 0, 	 0, 	 0, 	 0, 0xE099, 	 0, /* 0xC0 */
	0x97D3, 	 0, 0xE096, 	 0, 0xE098, 0x898D, 	 0, 0xE093, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9A7A, /* 0xD0 */
	0xE09A, 	 0, 	 0, 	 0, 	 0, 0x9187, 0x8E57, 0xE09C, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 0xE09B, 0x9043, 0x99D7, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE09D, 	 0, 	 0, /* 0xF0 */
		 0, 0xE09F, 	 0, 0xE08E, 0xE09E, 	 0, 0xFB5A, 0xE0A0	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_72[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
													0x949A, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE0A1, 	 0, 	 0, /* 0x00 */
	0xE0A2, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 0xE0A3, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
	0xE0A4, 	 0, 0x92DC, 	 0, 0xE0A6, 0xE0A5, 	 0, 	 0, /* 0x20 */
	0xE0A7, 	 0, 0xE0A8, 	 0, 	 0, 0x8EDD, 0x9583, 	 0, /* 0x30 */
		 0, 	 0, 0x96EA, 0xE0A9, 0xE0AA, 0x9175, 0x8EA2, 0xE0AB, /* 0x30 */
	0xE0AC, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE0AD, 0x95D0, /* 0x40 */
	0x94C5, 	 0, 	 0, 0xE0AE, 0x9476, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 0x92AB, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
	0xE0AF, 0x89E5, 	 0, 0x8B8D, 	 0, 0x96C4, 	 0, 0x96B4, /* 0x50 */
		 0, 0x89B2, 0x9853, 	 0, 	 0, 	 0, 	 0, 0x9671, /* 0x60 */
		 0, 0x95A8, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 0x90B5, 	 0, 0xE0B0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 0x93C1, 	 0, 	 0, 	 0, 0x8CA1, 0xE0B1, 	 0, /* 0x70 */
	0x8DD2, 0xE0B3, 0xE0B2, 	 0, 	 0, 	 0, 	 0, 0xE0B4, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 0xE0B5, 	 0, 	 0, 	 0, 0xE0B6, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
	0x8B5D, 	 0, 0xE0B7, 	 0, 	 0, 	 0, 	 0, 0xE0B8, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 0x8CA2, 	 0, 	 0, 0x94C6, /* 0xA0 */
		 0, 0xFB5B, 0xE0BA, 	 0, 	 0, 	 0, 0x8FF3, 	 0, /* 0xB0 */
		 0, 0xE0B9, 	 0, 	 0, 	 0, 	 0, 0xFB5C, 	 0, /* 0xB0 */
		 0, 	 0, 0x8BB6, 0xE0BB, 0xE0BD, 	 0, 0xE0BC, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE0BE, 	 0, /* 0xC0 */
	0x8CCF, 	 0, 0xE0BF, 	 0, 	 0, 	 0, 	 0, 0x8BE7, /* 0xD0 */
		 0, 0x915F, 	 0, 0x8D9D, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
	0xE0C1, 0xE0C2, 0xE0C0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 0x8EEB, 	 0, 	 0, 0x93C6, 0x8BB7, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE0C4, /* 0xF0 */
	0x924B, 0xE0C3, 	 0, 	 0, 0x9854, 0x9482					/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_73[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
																	/* 0x00 */
					0xE0C7, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE0C9, 0xE0C6, /* 0x10 */
		 0, 	 0, 	 0, 0x96D2, 0xE0C8, 0xE0CA, 	 0, 0x97C2, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 0xFB5D, 0xE0CE, 	 0, 	 0, /* 0x20 */
		 0, 0xE0CD, 0x9296, 0x944C, 	 0, 	 0, 0x8CA3, 0xE0CC, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 0xE0CB, 	 0, 0x9750, 0x9751, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE0CF, 0x898E, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 0x8D96, 0x8E82, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE0D0, 0xE0D1, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE0D3, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 0x8F62, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
	0xE0D5, 	 0, 0xE0D4, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
	0xE0D6, 	 0, 0x8A6C, 	 0, 	 0, 0xE0D8, 	 0, 0xFB5F, /* 0x70 */
	0xE0D7, 	 0, 0xE0DA, 0xE0D9, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 0x8CBA, 	 0, 	 0, 0x97A6, /* 0x80 */
		 0, 0x8BCA, 	 0, 0x89A4, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8BE8, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 0x8ADF, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 0x97E6, 0xE0DC, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 0xE0DE, 	 0, 0xFB60, 	 0, 	 0, /* 0xB0 */
	0xE0DF, 	 0, 0x89CF, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
	0xE0DB, 0xFB61, 0x8E58, 	 0, 	 0, 0x92BF, 0xE0DD, 	 0, /* 0xC0 */
		 0, 	 0, 0xFB64, 	 0, 	 0, 	 0, 0xFB62, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE0E2, 	 0, /* 0xD0 */
	0x8EEC, 	 0, 	 0, 0xFB63, 	 0, 0xE0E0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 0x8C5D, 	 0, 	 0, 0x94C7, 0xE0E1, 	 0, /* 0xE0 */
		 0, 0xE0FC, 	 0, 	 0, 	 0, 0xFB66, 	 0, 	 0, /* 0xF0 */
	0xE0E7, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8CBB			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_74[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
							0x8B85, 	 0, 0xE0E4, 0x979D, 0xFB65, /* 0x00 */
		 0, 0x97AE, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 0x91F4, 	 0, 	 0, 0xE0E6, 0xFB67, 	 0, /* 0x20 */
		 0, 0xFB69, 0xFB68, 	 0, 	 0, 	 0, 0xFB6A, 	 0, /* 0x20 */
		 0, 	 0, 0xE0E8, 0x97D4, 0x8BD5, 0x94FA, 0x9469, 	 0, /* 0x30 */
		 0, 	 0, 0xE0E9, 	 0, 	 0, 	 0, 	 0, 0xE0EB, /* 0x30 */
		 0, 0xE0EE, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE0EA, 	 0, 	 0, /* 0x50 */
		 0, 0xE0ED, 0x8CE8, 0x896C, 0xE0EF, 	 0, 0x9090, 0xE0EC, /* 0x50 */
	0x97DA, 	 0, 0xFB6B, 0xE0F2, 0xEAA2, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 0xE0F0, 0xE0F3, 	 0, 	 0, 	 0, 	 0, 0xE0E5, /* 0x60 */
	0xE0F1, 	 0, 	 0, 0x8DBA, 	 0, 	 0, 0xE0F4, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE0F5, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 0x979E, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 0xFB6C, 	 0, 0xE0F6, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE0F7, 0xFB6D, /* 0x90 */
		 0, 	 0, 0xE0E3, 	 0, 	 0, 	 0, 	 0, 0xE0F8, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
	0x8AC2, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x8EA3, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 0xE0F9, 	 0, 	 0, 	 0, 	 0, 0xE0FA, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 0xE0FB, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 0x895A, 	 0, 	 0, 	 0, /* 0xD0 */
	0xE140, 	 0, 0x955A, 0xE141, 	 0, 	 0, 0x8AA2, 0xE142, /* 0xE0 */
		 0, 0xE143, 	 0, 	 0, 	 0, 	 0, 0xE144, 	 0, /* 0xE0 */
	0xE146, 0xE147, 0xE145, 	 0, 	 0, 	 0, 0x9572, 0xE149, /* 0xF0 */
	0xE148															/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_75[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0xFB6E, 	 0, 0xE14B, 0xE14A, 0xE14C, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 0xE14D, 0xE14F, 0xE14E, 	 0, /* 0x00 */
		 0, 0x8D99, 	 0, 0xE151, 	 0, 0xE150, 	 0, 	 0, /* 0x10 */
	0x8AC3, 	 0, 0x9072, 	 0, 0x935B, 	 0, 0xE152, 0x90B6, /* 0x10 */
		 0, 	 0, 	 0, 0x8E59, 	 0, 0x8999, 0xE153, 	 0, /* 0x20 */
	0x9770, 	 0, 	 0, 0x95E1, 0xE154, 	 0, 	 0, 0xFAA8, /* 0x20 */
	0x9363, 0x9752, 0x8D62, 0x905C, 	 0, 	 0, 	 0, 0x926A, /* 0x30 */
	0x99B2, 	 0, 0x92AC, 0x89E6, 0xE155, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 0xE156, 	 0, 0xE15B, 	 0, /* 0x40 */
		 0, 0xE159, 0xE158, 0x9DC0, 0x8A45, 0xE157, 	 0, 0x88D8, /* 0x40 */
		 0, 0x94A8, 	 0, 	 0, 0x94C8, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 0x97AF, 0xE15C, 0xE15A, 0x927B, 0x90A4, 	 0, 	 0, /* 0x50 */
	0x94A9, 	 0, 0x954C, 	 0, 0xE15E, 0x97AA, 0x8C6C, 0xE15F, /* 0x60 */
		 0, 0xE15D, 0x94D4, 0xE160, 	 0, 0xE161, 	 0, 0xFB6F, /* 0x60 */
	0x88D9, 	 0, 	 0, 0x8FF4, 0xE166, 	 0, 0xE163, 0x93EB, /* 0x70 */
	0xE162, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8B45, /* 0x70 */
		 0, 	 0, 0xE169, 	 0, 	 0, 	 0, 0xE164, 0xE165, /* 0x80 */
		 0, 0xE168, 0xE167, 0x9544, 	 0, 	 0, 0x9161, 0x9160, /* 0x80 */
		 0, 0x8B5E, 	 0, 	 0, 0xE16A, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 0xE16B, 	 0, 	 0, 0xE16C, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 0xE16E, 	 0, 0xE16D, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 0x8975, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 0xE176, 0x94E6, 0xE170, 	 0, 0xE172, 	 0, 	 0, /* 0xB0 */
	0xE174, 0x905D, 	 0, 	 0, 0xE175, 0xE173, 0x8EBE, 	 0, /* 0xB0 */
		 0, 	 0, 0xE16F, 0xE171, 	 0, 0x9561, 	 0, 0x8FC7, /* 0xC0 */
		 0, 	 0, 0xE178, 	 0, 	 0, 0xE177, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 0xE179, 	 0, 0x8EA4, 0x8DAD, 	 0, 	 0, /* 0xD0 */
	0x9397, 0xE17A, 	 0, 0x92C9, 	 0, 	 0, 0xE17C, 	 0, /* 0xD0 */
		 0, 	 0, 0x979F, 0xE17B, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 0x9189, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
	0xE182, 	 0, 0xE184, 0xE185, 0x9273, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 	 0, 0xE183, 	 0, 0xE180, 	 0, 0xE17D, 0xE17E	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_76[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0xE181, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 0xE188, 	 0, 0xE186, 	 0, 0xE187, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE189, /* 0x10 */
	0xE18B, 0xE18C, 0xE18D, 	 0, 0xE18E, 	 0, 	 0, 0xE18A, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
	0xE190, 	 0, 	 0, 	 0, 0xE18F, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 0xE191, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 0x97C3, 	 0, 	 0, 	 0, 0xE194, 0xE192, /* 0x40 */
	0xE193, 	 0, 	 0, 	 0, 0x8AE0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 0x96FC, 	 0, 	 0, 	 0, 0x95C8, 	 0, /* 0x50 */
	0xE196, 	 0, 	 0, 	 0, 0xE195, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 0xE197, 0xE198, 	 0, 	 0, 	 0, 	 0, 0xE19C, /* 0x60 */
	0xE199, 0xE19A, 0xE19B, 	 0, 0xE19D, 	 0, 	 0, 	 0, /* 0x60 */
	0xE19E, 	 0, 0xE19F, 	 0, 	 0, 	 0, 0xE1A0, 	 0, /* 0x70 */
	0xE1A1, 	 0, 0x94AD, 0x936F, 0xE1A2, 0x9492, 0x9553, 	 0, /* 0x70 */
	0xE1A3, 	 0, 0xFB70, 0xE1A4, 0x9349, 	 0, 0x8A46, 0x8D63, /* 0x80 */
	0xE1A5, 	 0, 	 0, 0xE1A6, 	 0, 	 0, 0xE1A7, 	 0, /* 0x80 */
	0x8E48, 	 0, 	 0, 0xE1A9, 	 0, 	 0, 0xE1A8, 	 0, /* 0x90 */
		 0, 0xE1AA, 0xE1AB, 0xFB73, 0xFB71, 	 0, 0xFB72, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xFB74, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x94E7, 	 0, /* 0xA0 */
	0xE1AC, 	 0, 	 0, 	 0, 0xE1AD, 	 0, 	 0, 0xEA89, /* 0xB0 */
	0xE1AE, 0xE1AF, 0xE1B0, 	 0, 	 0, 	 0, 	 0, 0x8E4D, /* 0xB0 */
		 0, 	 0, 0xE1B1, 0x9475, 	 0, 	 0, 0x967E, 	 0, /* 0xC0 */
	0x896D, 	 0, 0x8976, 	 0, 	 0, 0xE1B2, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 0xE1B4, 	 0, 	 0, 	 0, 0xE1B3, 0x9390, /* 0xD0 */
		 0, 	 0, 	 0, 0x90B7, 0x9F58, 	 0, 0xE1B5, 0x96BF, /* 0xD0 */
		 0, 0xE1B6, 	 0, 0x8AC4, 0x94D5, 0xE1B7, 	 0, 0xE1B8, /* 0xE0 */
		 0, 	 0, 0xE1B9, 	 0, 	 0, 	 0, 0x96DA, 	 0, /* 0xE0 */
		 0, 	 0, 0x96D3, 	 0, 0x92BC, 	 0, 	 0, 	 0, /* 0xF0 */
	0x918A, 	 0, 	 0, 0xE1BB, 	 0, 	 0, 0x8F82			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_77[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0x8FC8, 	 0, 	 0, 0xE1BE, 	 0, 	 0, 0xE1BD, /* 0x00 */
	0xE1BC, 0x94FB, 	 0, 0x8AC5, 0x8CA7, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 0xE1C4, 	 0, 	 0, 0xE1C1, 0x905E, /* 0x10 */
	0x96B0, 	 0, 	 0, 	 0, 0xE1C0, 0xE1C2, 0xE1C3, 	 0, /* 0x20 */
		 0, 0xE1BF, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE1C5, /* 0x30 */
	0xE1C6, 	 0, 0x92AD, 	 0, 0x8AE1, 	 0, 	 0, 	 0, /* 0x30 */
	0x9285, 	 0, 	 0, 	 0, 	 0, 	 0, 0xFB76, 0xE1C7, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 0xE1C8, 0xE1CB, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 0x9087, 	 0, 0x93C2, 	 0, 0xE1CC, 0x9672, 	 0, /* 0x60 */
	0xE1C9, 	 0, 	 0, 0xE1CA, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 0xE1CF, 	 0, 	 0, 	 0, 	 0, 0xE1CE, 0xE1CD, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 0xE1D1, 	 0, 	 0, 0xE1D0, 	 0, /* 0x80 */
		 0, 0xE1D2, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE1D4, 	 0, /* 0x90 */
	0xE1D3, 	 0, 	 0, 	 0, 	 0, 0x95CB, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 0x8F75, 0x97C4, 	 0, 	 0, /* 0xA0 */
	0xE1D5, 	 0, 	 0, 0x93B5, 	 0, 	 0, 0xE1D6, 	 0, /* 0xB0 */
		 0, 0xE1D7, 	 0, 0xE1DB, 0xE1D9, 0xE1DA, 	 0, 0xE1D8, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE1DC, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE1DD, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE1DE, /* 0xD0 */
		 0, 	 0, 0xE1DF, 0x96B5, 0xE1E0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 0x96EE, 0xE1E1, 	 0, 0x926D, 	 0, 0x948A, /* 0xE0 */
		 0, 0x8BE9, 	 0, 	 0, 	 0, 0x925A, 0xE1E2, 0x8BB8, /* 0xE0 */
		 0, 	 0, 	 0, 0x90CE, 	 0, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 	 0, 	 0, 	 0, 0xE1E3							/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_78[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
					0x8DBB, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 0xE1E4, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 0xE1E5, 	 0, 0x8CA4, 0x8DD3, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
	0xE1E7, 0xFB78, 	 0, 	 0, 	 0, 0x9375, 0x8DD4, 0x8B6D, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 0x9643, 	 0, 0x946A, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 0x9376, 	 0, 	 0, 	 0, 	 0, 0x8D7B, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE1E9, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xFB79, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x8FC9, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 0xFB7A, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 0x97B0, 0x8D64, 	 0, 	 0, 0x8CA5, /* 0x60 */
		 0, 	 0, 0x94A1, 	 0, 0xE1EB, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 0xFB7B, 	 0, 0xE1ED, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 0x8CE9, 	 0, 	 0, 	 0, 	 0, 0xE1EC, 0x92F4, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 0xE1EF, 0x8A56, 0xE1EA, 	 0, /* 0x80 */
		 0, 0x94E8, 	 0, 0x894F, 	 0, 0x8DEA, 	 0, 0x9871, /* 0x90 */
		 0, 	 0, 0xE1EE, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 0xE1F0, 	 0, 	 0, 	 0, 0x95C9, /* 0xA0 */
		 0, 0x90D7, 0xE1F2, 	 0, 	 0, 	 0, 	 0, 0xE1F3, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE1F1, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 0x8A6D, 	 0, 0xE1F9, 	 0, 0xE1F8, 	 0, /* 0xB0 */
		 0, 0x8EA5, 	 0, 	 0, 	 0, 0xE1FA, 0xE1F5, 	 0, /* 0xC0 */
		 0, 	 0, 0xE1FB, 0xE1F6, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
	0x94D6, 0xE1F4, 	 0, 	 0, 0xE1F7, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 0xE241, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE240, /* 0xE0 */
	0x9681, 	 0, 	 0, 	 0, 0xE1FC, 	 0, 	 0, 0x88E9, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 0xE243, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE242					/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_79[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0x8FCA, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE244, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9162, 	 0, /* 0x00 */
		 0, 0xE246, 0xE245, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 0xE247, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE1E6, 	 0, /* 0x20 */
		 0, 	 0, 0xE1E8, 0xE249, 0xE248, 	 0, 	 0, 	 0, /* 0x20 */
	0xFB7C, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 0x8EA6, 	 0, 0x97E7, 	 0, 0x8ED0, 	 0, /* 0x30 */
	0xE24A, 0x8C56, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8B5F, /* 0x40 */
	0x8B46, 0x8E83, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
	0x9753, 	 0, 	 0, 0xE250, 	 0, 0xE24F, 0x9163, 0xE24C, /* 0x50 */
		 0, 	 0, 0xE24E, 	 0, 	 0, 0x8F6A, 0x905F, 0xE24D, /* 0x50 */
	0xE24B, 	 0, 0x9449, 	 0, 	 0, 0x8FCB, 	 0, 	 0, /* 0x60 */
	0x955B, 	 0, 	 0, 	 0, 	 0, 0x8DD5, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9398, /* 0x70 */
		 0, 	 0, 0xE251, 	 0, 	 0, 	 0, 	 0, 0xE252, /* 0x70 */
	0xE268, 0x8BD6, 	 0, 	 0, 0x985C, 0x9154, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 0xE253, 	 0, 	 0, 0x89D0, 0x92F5, 0x959F, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 0xFB81, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 0xFB83, 	 0, 0xE254, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8B9A, 0xE255, /* 0xA0 */
		 0, 	 0, 0xE257, 	 0, 	 0, 	 0, 0xE258, 	 0, /* 0xA0 */
	0x9448, 	 0, 	 0, 0xE259, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 0xE25A, 0xE25B, 	 0, 	 0, 0x8BD7, 0x89D1, 0x93C3, /* 0xB0 */
	0x8F47, 0x8E84, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 0xE25C, 	 0, 0x8F48, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 0x89C8, 0x9562, 	 0, 	 0, 0xE25D, 	 0, 	 0, /* 0xD0 */
	0x94E9, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9164, /* 0xD0 */
		 0, 0xE260, 	 0, 0xE261, 0x9489, 	 0, 0x9060, 0xE25E, /* 0xE0 */
		 0, 0x9281, 	 0, 	 0, 0xE25F, 	 0, 	 0, 	 0, /* 0xE0 */
	0x8FCC, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 	 0, 	 0, 0x88DA									/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_7A[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x8B48, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
	0xE262, 	 0, 	 0, 0x92F6, 	 0, 0xE263, 0x90C5, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 0x96AB, 	 0, 	 0, 0x9542, /* 0x10 */
	0xE264, 0xE265, 0x9274, 	 0, 0x97C5, 	 0, 	 0, 0xE267, /* 0x10 */
	0xE266, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8EED, 	 0, /* 0x20 */
		 0, 0xE269, 0x88EE, 	 0, 	 0, 	 0, 	 0, 0xE26C, /* 0x30 */
		 0, 	 0, 	 0, 0xE26A, 0x89D2, 0x8C6D, 0xE26B, 0x8D65, /* 0x30 */
	0x8D92, 	 0, 0x95E4, 0xE26D, 	 0, 	 0, 0x9673, 	 0, /* 0x40 */
		 0, 0xE26F, 	 0, 	 0, 	 0, 0x90CF, 0x896E, 0x89B8, /* 0x40 */
	0x88AA, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE26E, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 0xE270, 0xE271, 0x8FF5, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 0xE272, 	 0, 0x8A6E, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
	0xE274, 	 0, 	 0, 	 0, 0x8C8A, 	 0, 0x8B86, 	 0, /* 0x70 */
		 0, 0xE275, 0x8BF3, 	 0, 	 0, 0xE276, 	 0, 0x90FA, /* 0x70 */
		 0, 0x93CB, 	 0, 0x90DE, 0x8DF3, 	 0, 	 0, 	 0, /* 0x80 */
	0xE277, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 0x9282, 0x918B, 	 0, 0xE279, 0xE27B, 0xE278, /* 0x90 */
	0xE27A, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8C41, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 0xE27C, 0x8C45, 	 0, 	 0, 	 0, 0x8B87, 0x9771, /* 0xA0 */
	0xE27E, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE280, 	 0, /* 0xB0 */
		 0, 	 0, 0x894D, 	 0, 	 0, 	 0, 	 0, 0xE283, /* 0xB0 */
		 0, 	 0, 	 0, 0x8A96, 0xE282, 0xE281, 	 0, 0xE285, /* 0xC0 */
	0xE27D, 	 0, 0xE286, 0x97A7, 	 0, 0xE287, 	 0, 0xE288, /* 0xC0 */
		 0, 0xFB84, 0x9AF2, 0xE28A, 	 0, 0xE289, 	 0, 	 0, /* 0xD0 */
		 0, 0xE28B, 0xE28C, 	 0, 0x97B3, 0xE28D, 	 0, 0xE8ED, /* 0xD0 */
	0x8FCD, 0xE28E, 0xE28F, 0x8F76, 	 0, 0x93B6, 0xE290, 0xFB85, /* 0xE0 */
		 0, 	 0, 0x9247, 0xFB87, 	 0, 0xE291, 	 0, 0x925B, /* 0xE0 */
	0xE292, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8BA3, 	 0, /* 0xF0 */
	0x995E, 0x927C, 0x8EB1, 	 0, 	 0, 	 0, 	 0, 0x8AC6	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_7B[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
					0xE293, 	 0, 0xE2A0, 	 0, 0xE296, 	 0, /* 0x00 */
	0x8B88, 	 0, 0xE295, 0xE2A2, 	 0, 	 0, 	 0, 0xE294, /* 0x00 */
		 0, 0x8FCE, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
	0xE298, 0xE299, 	 0, 0x934A, 	 0, 	 0, 0xE29A, 	 0, /* 0x10 */
	0x8A7D, 	 0, 	 0, 	 0, 	 0, 0x9079, 0x9584, 	 0, /* 0x20 */
	0xE29C, 	 0, 	 0, 	 0, 0x91E6, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 0xE297, 	 0, 0xE29B, 0xE29D, 	 0, /* 0x30 */
		 0, 0x8DF9, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE2A4, 0x954D, 	 0, /* 0x40 */
	0x94A4, 0x9399, 	 0, 0x8BD8, 0xE2A3, 0xE2A1, 	 0, 0x94B3, /* 0x40 */
	0xE29E, 0x927D, 0x939B, 	 0, 0x939A, 	 0, 0x8DF4, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE2B6, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE2A6, 	 0, 0xE2A8, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 0xE2AB, 	 0, 0xE2AC, 	 0, /* 0x60 */
	0xE2A9, 0xE2AA, 	 0, 	 0, 0xE2A7, 0xE2A5, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 0xE29F, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x95CD, 0x89D3, /* 0x80 */
		 0, 	 0, 	 0, 0xE2B3, 	 0, 0xE2B0, 	 0, 0xE2B5, /* 0x80 */
		 0, 	 0, 0xE2B4, 	 0, 0x9493, 0x96A5, 	 0, 0x8E5A, /* 0x90 */
	0xE2AE, 0xE2B7, 0xE2B2, 	 0, 0xE2B1, 0xE2AD, 0xFB88, 0xE2AF, /* 0x90 */
		 0, 0x8AC7, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 0x925C, 	 0, 	 0, 0x90FB, 	 0, 	 0, /* 0xA0 */
		 0, 0x94A0, 	 0, 	 0, 0xE2BC, 	 0, 	 0, 	 0, /* 0xB0 */
	0x94A2, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
	0x90DF, 0xE2B9, 	 0, 	 0, 0x94CD, 	 0, 0xE2BD, 0x95D1, /* 0xC0 */
		 0, 0x927A, 	 0, 0xE2B8, 0xE2BA, 	 0, 	 0, 0xE2BB, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE2BE, 	 0, 	 0, /* 0xD0 */
	0x8EC2, 	 0, 	 0, 	 0, 0x93C4, 0xE2C3, 0xE2C2, 	 0, /* 0xE0 */
		 0, 0xE2BF, 	 0, 	 0, 	 0, 0x9855, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 0xE2C8, 	 0, 	 0, 0xE2CC, 0xE2C9, /* 0xF0 */
																	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_7C[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0xE2C5, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE2C6, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE2CB, 	 0, 	 0, /* 0x00 */
		 0, 0xE2C0, 0x99D3, 0xE2C7, 0xE2C1, 	 0, 	 0, 0xE2CA, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE2D0, /* 0x10 */
		 0, 0x8AC8, 	 0, 0xE2CD, 	 0, 	 0, 	 0, 0xE2CE, /* 0x20 */
		 0, 	 0, 0xE2CF, 0xE2D2, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE2D1, /* 0x30 */
	0x94F4, 	 0, 	 0, 	 0, 	 0, 0xE2D3, 0x97FA, 0x95EB, /* 0x30 */
	0xE2D8, 	 0, 	 0, 0xE2D5, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 0xE2D4, 0x90D0, 	 0, 0xE2D7, /* 0x40 */
	0xE2D9, 	 0, 	 0, 	 0, 0xE2D6, 	 0, 0xE2DD, 	 0, /* 0x50 */
	0xE2DA, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE2DB, /* 0x50 */
	0xE2C4, 	 0, 	 0, 	 0, 0xE2DC, 0xE2DE, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 0xE2DF, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 0x95C4, 	 0, 0xE2E0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x96E0, 	 0, /* 0x70 */
		 0, 0x8BCC, 0x8C48, 0xE2E1, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 0x95B2, 	 0, 0x9088, 	 0, 0x96AE, 	 0, 	 0, /* 0x80 */
	0xE2E2, 	 0, 0x97B1, 	 0, 	 0, 0x9494, 	 0, 0x9165, /* 0x90 */
	0x9453, 	 0, 	 0, 0x8F6C, 	 0, 	 0, 	 0, 0x88BE, /* 0x90 */
		 0, 0xE2E7, 0xE2E5, 	 0, 0xE2E3, 0x8A9F, 	 0, 0x8FCF, /* 0xA0 */
	0xE2E8, 	 0, 	 0, 0xE2E6, 	 0, 0xE2E4, 0xE2EC, 	 0, /* 0xA0 */
		 0, 0xE2EB, 0xE2EA, 0xE2E9, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 0xE2ED, 	 0, 	 0, 	 0, 0xE2EE, 0x90B8, 	 0, /* 0xB0 */
	0xE2EF, 	 0, 0xE2F1, 	 0, 	 0, 0xE2F0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 0x8CD0, 	 0, 	 0, 	 0, 0x9157, 	 0, /* 0xC0 */
		 0, 	 0, 0xE2F3, 	 0, 	 0, 	 0, 0x939C, 	 0, /* 0xD0 */
	0xE2F2, 	 0, 	 0, 	 0, 0xE2F4, 	 0, 0x95B3, 0x918C, /* 0xD0 */
	0x8D66, 	 0, 0xE2F5, 	 0, 	 0, 	 0, 	 0, 0x97C6, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE2F7, /* 0xE0 */
		 0, 	 0, 0xE2F8, 	 0, 0xE2F9, 	 0, 0xE2FA, 	 0, /* 0xF0 */
	0x8E85, 	 0, 0xE2FB, 0x8C6E, 	 0, 	 0, 0x8B8A			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_7D[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x8B49, 	 0, 0xE340, 	 0, 0x96F1, 0x8D67, 0xE2FC, 	 0, /* 0x00 */
		 0, 	 0, 0xE343, 0x96E4, 	 0, 0x945B, 	 0, 	 0, /* 0x00 */
	0x9552, 	 0, 	 0, 	 0, 0x8F83, 0xE342, 	 0, 0x8ED1, /* 0x10 */
	0x8D68, 0x8E86, 0x8B89, 0x95B4, 0xE341, 	 0, 	 0, 	 0, /* 0x10 */
	0x9166, 0x9661, 0x8DF5, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 0x8E87, 0x92DB, 	 0, 0xE346, 0x97DD, /* 0x20 */
	0x8DD7, 	 0, 0xE347, 0x9061, 	 0, 0xE349, 	 0, 	 0, /* 0x30 */
		 0, 0x8FD0, 0x8DAE, 	 0, 	 0, 	 0, 	 0, 0xE348, /* 0x30 */
		 0, 	 0, 0x8F49, 0x8CBC, 0x9167, 0xE344, 0xE34A, 	 0, /* 0x40 */
	0xFB8A, 	 0, 	 0, 0xE345, 0x8C6F, 	 0, 0xE34D, 0xE351, /* 0x40 */
	0x8C8B, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE34C, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 0xE355, 0xFB8B, 	 0, 0x8D69, 	 0, /* 0x50 */
		 0, 0x978D, 0x88BA, 0xE352, 	 0, 	 0, 0x8B8B, 	 0, /* 0x60 */
	0xE34F, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE350, 	 0, /* 0x60 */
		 0, 0x939D, 0xE34E, 0xE34B, 	 0, 0x8A47, 0x90E2, 	 0, /* 0x70 */
		 0, 0x8CA6, 	 0, 	 0, 	 0, 0xE357, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 0xE354, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE356, /* 0x80 */
		 0, 	 0, 	 0, 0xE353, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 0x8C70, 0x91B1, 0xE358, 0x918E, 	 0, 	 0, 0xE365, /* 0x90 */
	0xFB8D, 	 0, 0xE361, 0xE35B, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 0xE35F, 0x8EF8, 0x88DB, 0xE35A, 0xE362, /* 0xA0 */
	0xE366, 0x8D6A, 0x96D4, 	 0, 0x92D4, 0xE35C, 	 0, 0xFB8C, /* 0xB0 */
	0xE364, 	 0, 0xE359, 0x925D, 	 0, 0xE35E, 0x88BB, 0x96C8, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE35D, /* 0xC0 */
		 0, 	 0, 0x8BD9, 0x94EA, 	 0, 	 0, 	 0, 0x918D, /* 0xC0 */
		 0, 0x97CE, 0x8F8F, 	 0, 	 0, 0xE38E, 0xFB8E, 	 0, /* 0xD0 */
	0xE367, 	 0, 0x90FC, 	 0, 0xE363, 0xE368, 0xE36A, 	 0, /* 0xD0 */
	0x92F7, 0xE36D, 	 0, 	 0, 0xE369, 	 0, 	 0, 	 0, /* 0xE0 */
	0x95D2, 0x8AC9, 	 0, 	 0, 0x96C9, 	 0, 	 0, 0x88DC, /* 0xE0 */
		 0, 	 0, 0xE36C, 	 0, 0x97FB, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 	 0, 	 0, 0xE36B									/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_7E[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0x898F, 	 0, 	 0, 0x93EA, 0xE36E, 	 0, 	 0, /* 0x00 */
		 0, 0xE375, 0xE36F, 0xE376, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 0xE372, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 0x949B, 	 0, 	 0, 0x8EC8, 0xE374, /* 0x10 */
		 0, 0xE371, 0xE377, 0xE370, 	 0, 	 0, 0x8F63, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 0x9644, 	 0, 	 0, 0x8F6B, 	 0, /* 0x20 */
		 0, 0xE373, 0xE380, 	 0, 	 0, 0xE37B, 	 0, 0xE37E, /* 0x30 */
		 0, 0xE37C, 0xE381, 0xE37A, 	 0, 0xE360, 0x90D1, 	 0, /* 0x30 */
		 0, 0x94C9, 	 0, 0xE37D, 	 0, 	 0, 0xE378, 	 0, /* 0x40 */
		 0, 	 0, 0x9140, 0x8C71, 	 0, 0x8F4A, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 0xFB8F, 	 0, 0x9044, 0x9155, 0xE384, 	 0, /* 0x50 */
		 0, 0xE386, 0xE387, 	 0, 	 0, 0xE383, 0xE385, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE379, 0xE382, /* 0x60 */
		 0, 0xE38A, 0xE389, 	 0, 	 0, 0x969A, 	 0, 	 0, /* 0x60 */
	0x8C4A, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 0xE388, 	 0, 0xE38C, 0xE38B, 0xE38F, 	 0, 0xE391, /* 0x70 */
		 0, 	 0, 0x8E5B, 0xE38D, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
	0xE392, 0xE393, 0xFA5C, 	 0, 0xE394, 	 0, 0xE39A, 0x935A, /* 0x80 */
	0xE396, 	 0, 0xE395, 0xE397, 0xE398, 	 0, 0xE399, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 0xE39B, 0xE39C							/* 0x90 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_7F[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
													0x8ACA, 	 0, /* 0x30 */
	0xE39D, 	 0, 0xE39E, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE39F, 	 0, 0xFB90, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 0xE3A0, 0xE3A1, 0xE3A2, 	 0, /* 0x40 */
	0xE3A3, 0xE3A4, 	 0, 	 0, 0xE3A6, 0xE3A5, 	 0, 	 0, /* 0x50 */
	0xE3A7, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE3A8, /* 0x50 */
	0xE3A9, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE3AC, /* 0x60 */
	0xE3AA, 0xE3AB, 0x8DDF, 0x8C72, 	 0, 	 0, 0x9275, 	 0, /* 0x60 */
	0x94B1, 	 0, 0x8F90, 	 0, 	 0, 0x946C, 	 0, 0x94EB, /* 0x70 */
	0xE3AD, 0x9CEB, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 0xE3AE, 0xE3B0, 	 0, 0x9785, 0xE3AF, 0xE3B2, /* 0x80 */
	0xE3B1, 	 0, 0x9772, 	 0, 0xE3B3, 	 0, 0x94FC, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 0xE3B4, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 0xE3B7, 	 0, 	 0, 0xE3B6, 0xE3B5, 	 0, /* 0x90 */
		 0, 0xFB91, 	 0, 0xE3B8, 0x8C51, 	 0, 	 0, 	 0, /* 0xA0 */
	0x9141, 0x8B60, 	 0, 	 0, 	 0, 	 0, 0xE3BC, 0xE3B9, /* 0xA0 */
		 0, 	 0, 0xE3BA, 	 0, 	 0, 	 0, 0xE3BD, 	 0, /* 0xB0 */
	0xE3BE, 0xE3BB, 	 0, 	 0, 	 0, 0x8948, 	 0, 	 0, /* 0xB0 */
		 0, 0x89A5, 	 0, 	 0, 	 0, 0xE3C0, 0xE3C1, 	 0, /* 0xC0 */
		 0, 	 0, 0xE3C2, 	 0, 0x9782, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 0x8F4B, 	 0, 0xE3C4, 0xE3C3, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
	0x9089, 0xE3C5, 	 0, 	 0, 	 0, 	 0, 0xE3C6, 	 0, /* 0xE0 */
		 0, 0xE3C7, 	 0, 0x8AE3, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
	0x8ACB, 	 0, 	 0, 0xE3C8, 	 0, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 0xE3C9, 	 0, 0x967C, 0x9783							/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_80[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x9773, 0x9856, 	 0, 0x8D6C, 0xE3CC, 0x8ED2, 0xE3CB, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 0xE3CD, 0x8EA7, 	 0, 	 0, 	 0, /* 0x00 */
	0x91CF, 	 0, 0xE3CE, 	 0, 	 0, 0x8D6B, 	 0, 0x96D5, /* 0x10 */
	0xE3CF, 0xE3D0, 	 0, 	 0, 0xE3D1, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 0xE3D2, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
	0xE3D3, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 0x8EA8, 	 0, 	 0, 0x96EB, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 0xE3D5, 	 0, 0x925E, 	 0, 0xE3D4, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE3D7, 	 0, /* 0x40 */
		 0, 	 0, 0xE3D6, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 0xE3D8, 	 0, 	 0, 	 0, 0x90B9, 	 0, /* 0x50 */
	0xE3D9, 	 0, 0xE3DA, 	 0, 	 0, 	 0, 0x95B7, 0xE3DB, /* 0x50 */
		 0, 0x918F, 0xE3DC, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
	0xE3DD, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x97FC, /* 0x60 */
	0xE3E0, 	 0, 0xE3DF, 0xE3DE, 0x92AE, 	 0, 0xE3E1, 0x9045, /* 0x70 */
		 0, 0xE3E2, 	 0, 	 0, 	 0, 0xE3E3, 0x9857, 0xE3E4, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 0xE3E5, 0xE3E7, 0xE3E6, 0x94A3, /* 0x80 */
		 0, 0x93F7, 	 0, 0x985D, 0x94A7, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 0xE3E9, 	 0, 	 0, 0x8FD1, 	 0, /* 0x90 */
	0x9549, 	 0, 0xE3EA, 0xE3E8, 	 0, 0x8ACC, 	 0, 	 0, /* 0x90 */
		 0, 0x8CD2, 0x8E88, 	 0, 	 0, 0x94EC, 	 0, 	 0, /* 0xA0 */
		 0, 0x8CA8, 0x9662, 	 0, 0xE3ED, 0xE3EB, 	 0, 0x8D6D, /* 0xA0 */
		 0, 0x8D6E, 0x88E7, 	 0, 0x8DE6, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 0x9478, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 0x88DD, 0xE3F2, 	 0, 0x925F, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 0x9477, 	 0, 0x91D9, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE3F4, 	 0, /* 0xD0 */
		 0, 0xE3F0, 0xE3F3, 0xE3EE, 	 0, 0xE3F1, 0x9645, 	 0, /* 0xD0 */
		 0, 0x8CD3, 	 0, 	 0, 0x88FB, 0xE3EF, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE3F6, /* 0xE0 */
		 0, 0xE3F7, 	 0, 	 0, 0x93B7, 	 0, 	 0, 	 0, /* 0xF0 */
	0x8BB9, 	 0, 	 0, 	 0, 0xE445, 0x945C					/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_81[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
					0x8E89, 	 0, 	 0, 0x8BBA, 0x90C6, 0x9865, /* 0x00 */
	0x96AC, 0xE3F5, 0x90D2, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 0x8B72, 0xE3F8, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 0xE3FA, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 0xE3F9, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE3FB, /* 0x20 */
		 0, 0x9245, 	 0, 0x945D, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 0x92AF, 	 0, 	 0, 	 0, 	 0, 0xE442, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE441, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 0xE3FC, 	 0, 	 0, 0x9074, 	 0, /* 0x40 */
	0x9585, 0xE444, 	 0, 0xE443, 0x8D6F, 0x9872, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE454, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE448, 0xE449, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 0x8EEE, 	 0, 	 0, 0xE447, 	 0, /* 0x60 */
	0x8D98, 0xE446, 	 0, 	 0, 0xE44A, 	 0, 	 0, 	 0, /* 0x70 */
	0x92B0, 0x95A0, 0x9142, 	 0, 	 0, 	 0, 	 0, 0x91DA, /* 0x70 */
	0xE44E, 	 0, 0xE44F, 0xE44B, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
	0xE44C, 	 0, 0xE44D, 	 0, 	 0, 	 0, 	 0, 0x8D70, /* 0x80 */
		 0, 	 0, 	 0, 0xE455, 	 0, 0xE451, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 0x9586, 	 0, 0x968C, 0x9547, 	 0, 	 0, /* 0x90 */
	0xE450, 	 0, 	 0, 0xE453, 0xE452, 	 0, 	 0, 	 0, /* 0xA0 */
	0x9663, 0xE456, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
	0xE457, 	 0, 	 0, 0x9156, 	 0, 0xE458, 	 0, 	 0, /* 0xB0 */
	0xE45A, 	 0, 0xE45E, 	 0, 	 0, 0xE45B, 0xE459, 0x945E, /* 0xB0 */
	0xE45C, 	 0, 0xE45D, 	 0, 	 0, 	 0, 0x89B0, 	 0, /* 0xC0 */
	0xE464, 0xE45F, 	 0, 	 0, 	 0, 0xE460, 	 0, 	 0, /* 0xC0 */
		 0, 0xE461, 	 0, 0x919F, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
	0xE463, 0xE462, 0xE465, 	 0, 	 0, 	 0, 	 0, 0xE466, /* 0xD0 */
	0xE467, 	 0, 	 0, 0x9062, 	 0, 0x89E7, 	 0, 0xE468, /* 0xE0 */
	0x97D5, 	 0, 0x8EA9, 	 0, 	 0, 0x8F4C, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 0x8E8A, 0x9276, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 	 0, 0xE469, 0xE46A, 0x8950, 	 0, 0xE46B			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_82[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0xE46C, 0xE46D, 	 0, 	 0, 0xE46E, 	 0, 0xE46F, /* 0x00 */
	0x8BBB, 0x9DA8, 0xE470, 	 0, 0x90E3, 0xE471, 0x8EC9, 	 0, /* 0x00 */
	0xE472, 	 0, 0x98AE, 	 0, 	 0, 	 0, 0xE473, 0x95DC, /* 0x10 */
	0x8ADA, 	 0, 	 0, 0x9143, 0x8F77, 	 0, 0x9591, 0x8F4D, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 0xE474, 0x8D71, 0xE475, 0x94CA, 	 0, 0xE484, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 0xE477, 	 0, 0x91C7, 0x9495, 0x8CBD, /* 0x30 */
	0xE476, 0x9144, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
	0xE478, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x92F8, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
	0xE47A, 0xE479, 0xE47C, 	 0, 	 0, 0xE47B, 	 0, 0xE47D, /* 0x50 */
		 0, 	 0, 0xE480, 	 0, 0xE47E, 	 0, 0x8ACD, 	 0, /* 0x60 */
	0xE481, 	 0, 0xE482, 0xE483, 	 0, 	 0, 0x8DAF, 0x97C7, /* 0x60 */
		 0, 0xE485, 0x9046, 	 0, 	 0, 	 0, 0x8990, 0xE486, /* 0x70 */
	0xE487, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE488, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 0x88F0, 	 0, 0xE489, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 0xE48A, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 0x9587, 	 0, 	 0, 	 0, 0x8EC5, 	 0, 0xE48C, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x8A48, 0x88B0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 0xE48B, 0xE48E, 0x946D, 	 0, 0x9063, /* 0xA0 */
		 0, 0x89D4, 	 0, 0x9646, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
	0x8C7C, 0x8BDA, 	 0, 0xE48D, 	 0, 0x89E8, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x8AA1, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 0x8991, 0xE492, 0x97E8, 0x91DB, 	 0, 	 0, 0x9563, /* 0xD0 */
		 0, 0xE49E, 	 0, 0x89D5, 0xE49C, 	 0, 0xE49A, 0xE491, /* 0xD0 */
		 0, 0xE48F, 	 0, 0xE490, 	 0, 0x8EE1, 0x8BEA, 0x9297, /* 0xE0 */
		 0, 	 0, 	 0, 0x93CF, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 0x8970, 	 0, 0xE494, 0xE493, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 0xE499, 0xE495, 0xE498									/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_83[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0xFB93, 0x96CE, 0xE497, 0x89D6, 0x8A9D, 0xE49B, 	 0, /* 0x00 */
		 0, 0xE49D, 	 0, 	 0, 	 0, 	 0, 0x8C73, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE4A1, 0xE4AA, /* 0x10 */
	0xE4AB, 	 0, 	 0, 	 0, 0x88A9, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 0xE4B2, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
	0x88EF, 	 0, 	 0, 0xE4A9, 	 0, 	 0, 	 0, 0xE4A8, /* 0x20 */
		 0, 0xE4A3, 0xE4A2, 	 0, 0xE4A0, 0xE49F, 0x9283, 	 0, /* 0x30 */
	0x91F9, 0xE4A5, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
	0xE4A4, 	 0, 	 0, 	 0, 	 0, 0xE4A7, 	 0, 	 0, /* 0x40 */
		 0, 0x9190, 0x8C74, 	 0, 	 0, 	 0, 	 0, 0x8960, /* 0x40 */
	0xE4A6, 	 0, 0x8D72, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
	0x9191, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 0xFB94, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 0xE4B8, 	 0, 0xE4B9, 	 0, 0x89D7, /* 0x70 */
		 0, 	 0, 	 0, 0x89AC, 0xE4B6, 	 0, 	 0, 0xFB95, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE4AC, 	 0, 0xE4B4, /* 0x80 */
		 0, 0xE4BB, 0xE4B5, 	 0, 	 0, 	 0, 0xE4B3, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 0xE496, 	 0, 	 0, 0xE4B1, 	 0, /* 0x90 */
		 0, 	 0, 0xE4AD, 	 0, 	 0, 	 0, 0x8ACE, 0xE4AF, /* 0x90 */
	0xE4BA, 	 0, 0xE4B0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
	0xE4BC, 	 0, 0xE4AE, 0x949C, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 0x9789, 	 0, 	 0, 	 0, 0xE4B7, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE4CD, 	 0, 	 0, /* 0xB0 */
		 0, 0xE4C5, 	 0, 	 0, 	 0, 0x909B, 	 0, 0xFB96, /* 0xC0 */
		 0, 	 0, 0x8B65, 	 0, 0x8BDB, 	 0, 0xE4C0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 0x89D9, 	 0, 	 0, 0x8FD2, 	 0, /* 0xD0 */
	0xE4C3, 	 0, 	 0, 	 0, 0x8DD8, 	 0, 	 0, 0x9370, /* 0xD0 */
	0xE4C8, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 0x95EC, 	 0, 0xE4BF, 	 0, 	 0, 	 0, 0x89D8, /* 0xE0 */
	0x8CD4, 0x9548, 0xE4C9, 	 0, 0xE4BD, 	 0, 0xFB97, 0xE4C6, /* 0xF0 */
		 0, 	 0, 	 0, 0xE4D0, 	 0, 0xE4C1					/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_84[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
							0xE4C2, 0x93B8, 	 0, 	 0, 0xE4C7, /* 0x00 */
		 0, 	 0, 	 0, 0xE4C4, 0x9647, 0xE4CA, 0x88DE, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 0xE4BE, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
	0xE4CC, 	 0, 0xE4CB, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 0x948B, 0xE4D2, 	 0, 0xE4DD, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 0x8A9E, 	 0, 	 0, 	 0, 0xE4E0, 	 0, 	 0, /* 0x30 */
	0xE4CE, 	 0, 	 0, 	 0, 0xE4D3, 0x978E, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE4DC, 	 0, /* 0x40 */
	0xFB98, 0x9774, 	 0, 	 0, 	 0, 	 0, 0x97A8, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9298, /* 0x50 */
		 0, 	 0, 	 0, 0x8A8B, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 0x9592, 0xE4E2, 0x939F, 	 0, 	 0, 0x88AF, 	 0, /* 0x60 */
		 0, 0xE4DB, 	 0, 0xE4D7, 0x9192, 0xE4D1, 0xE4D9, 0xE4DE, /* 0x60 */
		 0, 0x944B, 	 0, 	 0, 	 0, 0x88A8, 	 0, 0xE4D6, /* 0x70 */
		 0, 0xE4DF, 0x9598, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 0xE4DA, 	 0, 0xE4D5, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 0x8FD3, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
	0x8F4E, 	 0, 	 0, 	 0, 0x8EAA, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 0x96D6, 	 0, 	 0, 0x9566, 	 0, 	 0, 0xE4E5, /* 0x90 */
		 0, 0xE4EE, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE4D8, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 0x8A97, 	 0, 0xFB99, 	 0, 	 0, 	 0, /* 0xB0 */
	0x8FF6, 0xE4E3, 	 0, 0xE4E8, 0x9193, 	 0, 	 0, 0xE4E4, /* 0xB0 */
		 0, 0xE4EB, 	 0, 	 0, 0x927E, 	 0, 0xE4EC, 	 0, /* 0xC0 */
		 0, 0x9775, 0xE4E1, 0x8A57, 	 0, 0xE4E7, 	 0, 	 0, /* 0xC0 */
	0xE4EA, 0x96AA, 	 0, 	 0, 	 0, 	 0, 0xE4ED, 	 0, /* 0xD0 */
		 0, 0xE4E6, 0xE4E9, 	 0, 0xFA60, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 0x9648, 	 0, 0x9840, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 0xE4F1, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 	 0, 	 0, 	 0, 0xE4F8, 	 0, 	 0, 0xE4F0	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_85[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x8EC1, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE4CF, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 0x95CC, 	 0, 0x96A0, 0xE4F7, 0xE4F6, 	 0, 0xE4F2, /* 0x10 */
	0xE4F3, 	 0, 0x8955, 	 0, 	 0, 	 0, 	 0, 0xE4F5, /* 0x10 */
		 0, 0xE4EF, 	 0, 	 0, 	 0, 	 0, 0x92D3, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 0xE4F4, 0x88FC, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x91A0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x95C1, 	 0, 	 0, /* 0x30 */
	0xE4F9, 0xE540, 	 0, 0x94D7, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
	0xE4FC, 0x8FD4, 0x8EC7, 0xE542, 	 0, 	 0, 0x8BBC, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 0xFB9A, 	 0, 0xE543, 	 0, 0x9599, /* 0x50 */
	0xE4FB, 0xFB9B, 0xE4D4, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 0xE4FA, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
	0x986E, 0x93A0, 0x9593, 0xFB9C, 	 0, 0xE54A, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE550, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE551, 	 0, /* 0x70 */
	0xE544, 	 0, 	 0, 	 0, 0x9496, 	 0, 	 0, 0xE54E, /* 0x80 */
	0xE546, 	 0, 0xE548, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
	0xE552, 0xE547, 	 0, 	 0, 0xE54B, 	 0, 	 0, 0x8992, /* 0x90 */
		 0, 0x93E3, 	 0, 0xE54C, 0xE54F, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 0xE545, 	 0, 0x9145, 	 0, /* 0xA0 */
	0xE549, 0x8E46, 0x9064, 0x8C4F, 0x96F2, 	 0, 0x96F7, 0x8F92, /* 0xA0 */
	0xFB9E, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 0xE556, 0xE554, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 0x986D, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 0xE553, 	 0, 	 0, 	 0, 0x9795, 	 0, 0xE555, /* 0xC0 */
	0xE557, 	 0, 	 0, 	 0, 	 0, 0xE558, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 0xE55B, 0xE559, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 0x93A1, 0xE55A, 	 0, 	 0, /* 0xE0 */
		 0, 0x94CB, 0xE54D, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8F93, /* 0xF0 */
		 0, 0xE55C, 0xE561, 0x9194, 	 0, 	 0, 0xE560			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_86[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
					0xE541, 	 0, 	 0, 	 0, 0xE562, 0x9168, /* 0x00 */
		 0, 	 0, 0xE55D, 0xE55F, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 0xE55E, 	 0, 	 0, 0x9F50, 0x9F41, /* 0x10 */
		 0, 	 0, 0xE564, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 0xE563, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9796, 	 0, 0xE1BA, /* 0x20 */
	0xE565, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE566, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE567, 0x8CD5, 	 0, /* 0x40 */
	0x8B73, 	 0, 	 0, 	 0, 0xE569, 0x997C, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 0x8B95, 	 0, 0x97B8, 	 0, 0x8BF1, 0xE56A, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE56B, /* 0x60 */
		 0, 	 0, 	 0, 0x928E, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 0xE56C, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 0x93F8, 	 0, 0x88B8, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 0x89E1, 0xE571, 0xE572, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 0xE56D, 	 0, 0x8E5C, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 0xE56E, 0x9461, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 0xE56F, 0xE570, 0xE57A, 	 0, 	 0, 	 0, 0xE574, /* 0xA0 */
	0xE577, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE573, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 0xE575, 	 0, 0xE576, 0x8ED6, /* 0xC0 */
		 0, 0xE578, 	 0, 0x9260, 	 0, 0x8C75, 0x8A61, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 0xE57B, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 0x8A5E, 	 0, 0xE581, 	 0, 	 0, 0xE57C, 0xE580, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 0x94B8, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 0xE57D, 	 0, 	 0, 0xE57E, 0x9567, 0x94D8, 0xE582, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xF0 */
	0x91FB, 0xE58C, 	 0, 0xE588, 	 0, 	 0, 0x89E9			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_87[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0xE586, 	 0, 0x9649, 0xE587, 	 0, 	 0, 0xE584, 	 0, /* 0x00 */
	0xE585, 0xE58A, 0xE58D, 	 0, 	 0, 0xE58B, 	 0, 	 0, /* 0x00 */
		 0, 0xE589, 0xE583, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
	0x9277, 	 0, 0xE594, 	 0, 0x96A8, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE592, 	 0, 	 0, /* 0x20 */
		 0, 0xE593, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 0xE58E, 	 0, 	 0, 0xE590, /* 0x30 */
		 0, 	 0, 	 0, 0xE591, 	 0, 	 0, 	 0, 0xE58F, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 0x90E4, 	 0, 0x9858, 0xE598, 	 0, 0xE599, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 0xE59F, 	 0, 0x9049, 	 0, 0xE59B, /* 0x50 */
		 0, 0xE59E, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE596, /* 0x50 */
	0xE595, 	 0, 	 0, 0xE5A0, 	 0, 	 0, 0x89DA, 	 0, /* 0x60 */
	0xE59C, 	 0, 0xE5A1, 	 0, 	 0, 	 0, 0xE59D, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 0xE59A, 	 0, 0x92B1, 	 0, /* 0x70 */
	0xE597, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9488, /* 0x70 */
		 0, 	 0, 0xE5A5, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x975A, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE5A4, /* 0x90 */
		 0, 	 0, 0xE5A3, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 0xE5AC, 	 0, 	 0, 	 0, 0xE5A6, /* 0xA0 */
		 0, 	 0, 	 0, 0xE5AE, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 0x9786, 0xE5B1, 	 0, 0xE5A8, 	 0, 	 0, /* 0xB0 */
	0xE5A9, 	 0, 	 0, 	 0, 0xE5AD, 	 0, 0xE5B0, 0xE5AF, /* 0xC0 */
		 0, 	 0, 	 0, 0xE5A7, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
	0xE5AA, 	 0, 0xE5BB, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
	0xE5B4, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE5B2, /* 0xE0 */
		 0, 	 0, 0xE5B3, 	 0, 	 0, 	 0, 0xE5B8, 0xE5B9, /* 0xF0 */
		 0, 0x8A49, 	 0, 0x8B61, 	 0, 	 0, 0xE5B7			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_88[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
											0xE5A2, 	 0, 0xFBA1, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE5B6, 0xE5BA, 0xE5B5, /* 0x00 */
		 0, 0xE5BC, 	 0, 	 0, 	 0, 0xE5BE, 0xE5BD, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 0xE5C0, 0xE5BF, 0xE579, 	 0, 	 0, 	 0, 0xE5C4, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 0xE5C1, 	 0, 	 0, 	 0, 	 0, 0xE5C2, 	 0, /* 0x30 */
		 0, 0xE5C3, 	 0, 0xE5C5, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
	0x8C8C, 	 0, 0xE5C7, 	 0, 0xE5C6, 	 0, 0x8F4F, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 0x8D73, 0x9FA5, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 0xE5C8, 0x8F70, 	 0, 	 0, 	 0, 0x8A58, /* 0x50 */
		 0, 0xE5C9, 	 0, 0x8971, 	 0, 0x8FD5, 0xE5CA, 	 0, /* 0x50 */
		 0, 0x8D74, 0xE5CB, 0x88DF, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
	0x955C, 	 0, 	 0, 0xE5CC, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
	0x908A, 	 0, 0xE5D3, 	 0, 	 0, 0xE5D0, 	 0, 0x928F, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE5D1, 0xE5CE, 0x8BDC, /* 0x70 */
		 0, 0xE5CD, 0xE5D4, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
	0x8C55, 	 0, 	 0, 0x91DC, 	 0, 0xE5DA, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 0xE5D6, 	 0, 	 0, 	 0, 0x91B3, 0xE5D5, /* 0x90 */
		 0, 0xE5D8, 	 0, 	 0, 	 0, 	 0, 0xE5CF, 	 0, /* 0x90 */
		 0, 	 0, 0xE5D9, 	 0, 0xE5DB, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 0x94ED, 	 0, 	 0, 0xE5D7, 	 0, /* 0xA0 */
	0xE5DC, 0xE5DE, 	 0, 	 0, 0x8CD1, 0xE5D2, 	 0, 0x88BF, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE5DD, /* 0xB0 */
		 0, 0x8DD9, 0x97F4, 0xE5DF, 0xE5E0, 0x9195, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x97A0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 0xE5E1, 0x9754, 	 0, 	 0, /* 0xD0 */
	0xE5E2, 0xE5E3, 	 0, 	 0, 0x95E2, 0xE5E4, 	 0, 0x8DBE, /* 0xD0 */
		 0, 0x97A1, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
	0xE5E9, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 0xE5EA, 0x8FD6, 0xE5E8, 0xFBA2, 	 0, 	 0, /* 0xF0 */
	0x9787, 0xE5E5, 	 0, 	 0, 0xE5E7, 0x90BB, 0x909E			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_89[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
					0xE5E6, 	 0, 0xE5EB, 	 0, 	 0, 0x95A1, /* 0x00 */
		 0, 	 0, 0xE5ED, 	 0, 0xE5EC, 	 0, 	 0, 	 0, /* 0x00 */
	0x8A8C, 	 0, 0x964A, 0xE5EE, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 0xFA5D, 0xE5FA, 0xE5F0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE5F1, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 0xE5F2, 0xE5F3, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE5F7, 	 0, /* 0x30 */
	0xE5F8, 	 0, 	 0, 0xE5F6, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 0xE5F4, 	 0, 0xE5EF, 0xE5F5, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 0xE5F9, 0xE8B5, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x89A6, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE5FC, 0x8BDD, /* 0x50 */
	0xE5FB, 	 0, 	 0, 	 0, 0xE641, 	 0, 0xE640, 	 0, /* 0x60 */
		 0, 	 0, 0xE643, 	 0, 	 0, 0xE642, 	 0, 0xE644, /* 0x60 */
		 0, 	 0, 0x8F50, 	 0, 0xE645, 	 0, 	 0, 0xE646, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE647, 0x90BC, /* 0x70 */
		 0, 0x9776, 	 0, 0xE648, 	 0, 	 0, 0x95A2, 0x9465, /* 0x80 */
	0xE649, 	 0, 0xE64A, 0x8CA9, 	 0, 	 0, 	 0, 0x8B4B, /* 0x80 */
		 0, 	 0, 	 0, 0xE64B, 	 0, 	 0, 0x8E8B, 0x9460, /* 0x90 */
	0xE64C, 	 0, 0x8A6F, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 0xE64D, 	 0, 	 0, 	 0, 	 0, 0xE64F, 0x9797, /* 0xA0 */
		 0, 0xE64E, 0x9065, 	 0, 0xE650, 	 0, 	 0, 0xE651, /* 0xA0 */
		 0, 	 0, 0xE652, 0x8ACF, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 0xE653, 	 0, 	 0, 0xE654, 	 0, 0xE655, /* 0xB0 */
	0xE656, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 0x8A70, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 0xE657, 	 0, 0xE658, 0xE659, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 0x89F0, 	 0, 	 0, 0x9047, 0xE65A, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 0xE65B, 	 0, 	 0, 	 0, /* 0xF0 */
	0xE65C															/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_8A[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x8CBE, 	 0, 0x92F9, 0xE65D, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
	0x8C76, 	 0, 0x9075, 	 0, 0xE660, 	 0, 0x93A2, 	 0, /* 0x00 */
	0xE65F, 	 0, 0xFBA3, 0x8C50, 	 0, 	 0, 0xE65E, 0x91F5, /* 0x10 */
	0x8B4C, 	 0, 	 0, 0xE661, 	 0, 0xE662, 	 0, 0x8FD7, /* 0x10 */
		 0, 	 0, 	 0, 0x8C8D, 	 0, 0xE663, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 0x964B, 	 0, 	 0, 0x90DD, 	 0, 	 0, /* 0x20 */
		 0, 0x8B96, 	 0, 0x96F3, 0x9169, 	 0, 0xE664, 0xFBA4, /* 0x30 */
		 0, 	 0, 0x9066, 0x9290, 0x8FD8, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 0xE665, 	 0, 	 0, 	 0, 	 0, 0xE668, 	 0, /* 0x40 */
	0xE669, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
	0x8DBC, 0x91C0, 0xE667, 	 0, 0x8FD9, 0x955D, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 0xE666, 	 0, 	 0, 0x8E8C, 	 0, /* 0x50 */
	0x8972, 	 0, 0xE66D, 0x8C77, 	 0, 	 0, 0x8E8E, 	 0, /* 0x60 */
		 0, 0x8E8D, 	 0, 0x986C, 0xE66C, 0xE66B, 0x9146, 	 0, /* 0x60 */
	0x8B6C, 0x9862, 0x8A59, 0x8FDA, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 0xFBA5, 	 0, 	 0, 0xE66A, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 0xE66F, 	 0, 0xE670, 0xE66E, 	 0, 0x8CD6, /* 0x80 */
		 0, 0x975F, 	 0, 	 0, 0x8E8F, 0x9446, 	 0, 	 0, /* 0x80 */
		 0, 0xE673, 	 0, 0x90BE, 	 0, 0x9261, 	 0, 	 0, /* 0x90 */
	0x9755, 	 0, 0xE676, 	 0, 	 0, 	 0, 0x8CEA, 	 0, /* 0x90 */
	0x90BD, 0xE672, 	 0, 0xE677, 0x8CEB, 0xE674, 0xE675, 0xFBA6, /* 0xA0 */
	0xE671, 	 0, 	 0, 	 0, 0x90E0, 0x93C7, 	 0, 	 0, /* 0xA0 */
	0x924E, 	 0, 0x89DB, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 0x94EE, 	 0, 	 0, 0x8B62, 	 0, 0xFBA7, 0x92B2, /* 0xB0 */
		 0, 	 0, 0xE67A, 	 0, 0xE678, 	 0, 	 0, 0x926B, /* 0xC0 */
		 0, 	 0, 	 0, 0x90BF, 0x8AD0, 0xE679, 	 0, 0x907A, /* 0xC0 */
		 0, 	 0, 0x97C8, 	 0, 	 0, 	 0, 0x985F, 	 0, /* 0xD0 */
		 0, 	 0, 0xE67B, 0xE687, 0x92B3, 	 0, 0xE686, 0xFBA8, /* 0xD0 */
	0xE683, 0xE68B, 0xE684, 	 0, 0xE680, 	 0, 0x92FA, 0xE67E, /* 0xE0 */
		 0, 	 0, 	 0, 0xE67C, 	 0, 0x9740, 0x8E90, 	 0, /* 0xE0 */
		 0, 0xE681, 	 0, 0xE67D, 	 0, 	 0, 0xFBAA, 0xE685, /* 0xF0 */
	0x8F94, 	 0, 0x8CBF, 	 0, 	 0, 	 0, 0x91F8			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_8B[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x9664, 0x8979, 0x88E0, 	 0, 0x93A3, 	 0, 	 0, 0xE689, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 0xE688, 	 0, 0x93E4, 	 0, /* 0x00 */
	0xE68D, 	 0, 	 0, 	 0, 0xE682, 	 0, 0xE68C, 0xE68E, /* 0x10 */
		 0, 0x8CAA, 0xE68A, 0x8D75, 	 0, 0x8ED3, 	 0, 	 0, /* 0x10 */
	0xE68F, 0x9777, 	 0, 	 0, 	 0, 	 0, 0xE692, 	 0, /* 0x20 */
	0xE695, 	 0, 	 0, 0xE693, 0x9554, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 0xE690, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 0x8BDE, 	 0, 	 0, 	 0, 	 0, 0xE694, 	 0, /* 0x30 */
		 0, 0xE696, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 0xE69A, 	 0, 	 0, 0xE697, 	 0, 0xE699, 0xE698, /* 0x40 */
		 0, 	 0, 	 0, 0xFBAB, 	 0, 	 0, 0xE69B, 	 0, /* 0x50 */
	0x8EAF, 	 0, 0xE69D, 0xE69C, 0x9588, 	 0, 	 0, 0xE69F, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8C78, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 0xE69E, 0xE6A0, 	 0, 	 0, 0xE6A1, /* 0x60 */
	0x8B63, 0xE3BF, 0x8FF7, 	 0, 0xE6A2, 	 0, 	 0, 0x8CEC, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE6A3, 	 0, 0xFBAC, /* 0x70 */
	0xE6A4, 	 0, 	 0, 0x8E5D, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 0x9DCC, 	 0, 0xE6A5, 	 0, 0xE6A6, 	 0, /* 0x80 */
	0x8F51, 	 0, 0xE6A7, 0xE6A8, 	 0, 	 0, 0xE6A9, 	 0, /* 0x90 */
		 0, 0xE6AA, 0xE6AB											/* 0x90 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_8C[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
															0x924A, /* 0x30 */
		 0, 	 0, 0xE6AC, 	 0, 	 0, 	 0, 	 0, 0xE6AE, /* 0x30 */
		 0, 0xE6AD, 	 0, 	 0, 	 0, 	 0, 0x93A4, 	 0, /* 0x40 */
	0xE6AF, 	 0, 0x964C, 	 0, 0xE6B0, 	 0, 0xE6B1, 	 0, /* 0x40 */
	0xE6B2, 	 0, 	 0, 	 0, 	 0, 0xE6B3, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 0x93D8, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 0x8FDB, 0xE6B4, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 0x8D8B, 0x98AC, 0xE6B5, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
	0xE6B6, 0x955E, 0xE6B7, 	 0, 0xE6BF, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 0xE6B8, 	 0, 	 0, 0xE6BA, 	 0, 	 0, /* 0x80 */
		 0, 0xE6B9, 0xE6BB, 	 0, 0x9665, 0xE6BC, 0xE6BD, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 0xE6BE, 	 0, 	 0, 	 0, /* 0x90 */
	0xE6C0, 	 0, 	 0, 	 0, 	 0, 0x8A4C, 0x92E5, 	 0, /* 0x90 */
	0x9589, 0x8DE0, 0x8D76, 	 0, 	 0, 	 0, 	 0, 0x956E, /* 0xA0 */
	0x89DD, 0x94CC, 0xE6C3, 0x8AD1, 0x90D3, 0xE6C2, 0xE6C7, 0x9299, /* 0xA0 */
	0x96E1, 	 0, 0xE6C5, 0xE6C6, 0x8B4D, 	 0, 0xE6C8, 0x9483, /* 0xB0 */
	0x91DD, 	 0, 	 0, 0x94EF, 0x935C, 0xE6C4, 	 0, 0x9666, /* 0xB0 */
	0x89EA, 0xE6CA, 0x9847, 0x92C0, 0x9864, 	 0, 	 0, 0x8E91, /* 0xC0 */
	0xE6C9, 	 0, 0x91AF, 	 0, 	 0, 0xE6DA, 0x9147, 	 0, /* 0xC0 */
		 0, 0x93F6, 	 0, 0x956F, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 0xE6CD, 0x8E5E, 0x8E92, 	 0, 0x8FDC, 	 0, /* 0xD0 */
	0x9485, 	 0, 0x8CAB, 0xE6CC, 0xE6CB, 	 0, 0x958A, 	 0, /* 0xE0 */
		 0, 	 0, 0x8EBF, 	 0, 	 0, 0x9371, 	 0, 	 0, /* 0xE0 */
	0xFBAD, 	 0, 	 0, 	 0, 0xFBAE, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 	 0, 0xE6CF, 0xE6D0, 0x8D77, 0xE6CE					/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_8D[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
									0xE6D1, 0xE6D2, 	 0, 0xE6D4, /* 0x00 */
	0x91A1, 	 0, 0xE6D3, 0x8AE4, 	 0, 0xE6D6, 	 0, 0xE6D5, /* 0x00 */
	0xE6D7, 	 0, 0xFBAF, 0xE6D9, 0xE6DB, 	 0, 0xE6DC, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 0x90D4, 	 0, 0x8ECD, 0xE6DD, /* 0x60 */
		 0, 	 0, 	 0, 0x8A71, 	 0, 0xE6DE, 	 0, 	 0, /* 0x60 */
	0x9196, 0xE6DF, 	 0, 0xE6E0, 0x958B, 	 0, 0xFBB0, 0x8B4E, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 0xE6E1, 	 0, 	 0, 	 0, 0x92B4, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 0x897A, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 0xE6E2, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 0x8EEF, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
	0x9096, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 0x91AB, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 0xE6E5, 	 0, 	 0, 	 0, 0xE6E4, 	 0, /* 0xB0 */
		 0, 	 0, 0xE6E3, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 0xE6EB, 0xE6E9, 	 0, 	 0, 0xE6E6, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE6E8, 	 0, /* 0xD0 */
		 0, 	 0, 0xE6E7, 0xE6EA, 	 0, 0x8B97, 	 0, 0xE6EE, /* 0xD0 */
		 0, 0x90D5, 	 0, 0xE6EF, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
	0x8CD7, 	 0, 0xE6EC, 0xE6ED, 	 0, 	 0, 	 0, 0x9848, /* 0xE0 */
		 0, 	 0, 	 0, 0x92B5, 	 0, 0x9148, 	 0, 	 0, /* 0xF0 */
		 0, 	 0, 	 0, 	 0, 0xE6F0, 	 0, 	 0, 0xE6F3	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_8E[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
																	/* 0x00 */
	0xE6F1, 0xE6F2, 0x9778, 	 0, 	 0, 	 0, 	 0, 0x93A5, /* 0x00 */
	0xE6F6, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE6F4, 0xE6F5, 0xE6F7, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 0xE748, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
	0xE6FA, 	 0, 	 0, 	 0, 0xE6FB, 0xE6F9, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 0xE6F8, 	 0, 0x92FB, 	 0, 	 0, 0xE740, /* 0x40 */
	0xE744, 0xE741, 0xE6FC, 	 0, 0xE742, 	 0, 	 0, 	 0, /* 0x40 */
	0xE743, 	 0, 	 0, 	 0, 	 0, 0xE74A, 	 0, 	 0, /* 0x50 */
		 0, 0xE745, 	 0, 	 0, 	 0, 	 0, 	 0, 0x90D6, /* 0x50 */
	0xE747, 	 0, 	 0, 0xE749, 0xE746, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 0xE74C, 	 0, 0x8F52, 	 0, 0xE74B, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 0xE74D, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 0xE74E, 	 0, 	 0, 0xE751, 0xE750, 	 0, 0xE74F, /* 0x80 */
		 0, 	 0, 0xE753, 0xE752, 	 0, 0x96F4, 	 0, 	 0, /* 0x80 */
		 0, 0xE755, 	 0, 0xE754, 0xE756, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 0xE757, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 0xE759, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 0xE758, 0x9067, 0xE75A, 	 0, 	 0, 0x8BEB, /* 0xA0 */
	0xE75B, 0xE75D, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE75E, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE75F, 0xE75C, 	 0, /* 0xC0 */
	0xE760, 	 0, 0x8ED4, 0xE761, 0x8B4F, 0x8C52, 	 0, 0xFBB2, /* 0xC0 */
		 0, 	 0, 0x8CAC, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 0xE762, 	 0, 	 0, 	 0, 0x93EE, /* 0xD0 */
		 0, 	 0, 0x935D, 0xE763, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 0xE766, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xF0 */
	0x8EB2, 	 0, 	 0, 0xE765, 0xE764, 0x8C79, 0xE767			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_8F[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
							0x8A72, 	 0, 0xE769, 	 0, 	 0, /* 0x00 */
		 0, 0x8DDA, 0xE768, 	 0, 0xE771, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 0xE76B, 0xE76D, 0x95E3, 0xE76A, 	 0, 	 0, /* 0x10 */
		 0, 0xE76C, 	 0, 0xE770, 0xE76E, 0x8B50, 	 0, 0xE76F, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE772, 	 0, /* 0x20 */
		 0, 0x9479, 0x97D6, 	 0, 	 0, 	 0, 	 0, 0x8F53, /* 0x20 */
		 0, 	 0, 	 0, 0xE773, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
	0x9741, 0xE775, 	 0, 0xE774, 	 0, 	 0, 0xE778, 0x9760, /* 0x30 */
		 0, 	 0, 0xE777, 	 0, 0x8A8D, 0xE776, 0xE77B, 	 0, /* 0x40 */
		 0, 0xE77A, 	 0, 	 0, 0xE779, 0x9351, 0xE77C, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE77D, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 0xE77E, 	 0, 	 0, 0x8D8C, /* 0x50 */
		 0, 0x8C44, 0xE780, 0xE781, 0xE782, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 0x9068, 0xE783, 	 0, 0x8EAB, 0xE784, /* 0x90 */
		 0, 	 0, 	 0, 0xE785, 	 0, 	 0, 	 0, 0x999F, /* 0xA0 */
	0x999E, 	 0, 	 0, 	 0, 	 0, 0xE786, 0xE390, 0xE787, /* 0xA0 */
	0x9243, 0x904A, 0x945F, 	 0, 	 0, 	 0, 	 0, 0xE788, /* 0xB0 */
		 0, 	 0, 0x95D3, 0x92D2, 0x8D9E, 	 0, 	 0, 0x9248, /* 0xB0 */
		 0, 	 0, 0x8949, 	 0, 0x9698, 0x9076, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8C7D, 	 0, /* 0xC0 */
		 0, 0x8BDF, 	 0, 	 0, 0x95D4, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 0xE789, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 0xE78B, 	 0, 	 0, 0xE78A, 0x89DE, 	 0, /* 0xE0 */
		 0, 0x93F4, 0xE78C, 0x9497, 	 0, 0x9352, 	 0, 0xE78D, /* 0xE0 */
	0x8F71, 	 0, 	 0, 	 0, 0xE78F, 	 0, 	 0, 0x96C0, /* 0xF0 */
	0xE79E, 0xE791, 0xE792, 	 0, 	 0, 0x92C7					/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_90[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x91DE, 0x9197, 	 0, 0x93A6, 	 0, 0xE790, 0x8B74, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 0xE799, 	 0, 0xE796, 0xE7A3, 0x93A7, /* 0x00 */
	0x9280, 0xE793, 	 0, 0x92FC, 0x9372, 0xE794, 0xE798, 0x9080, /* 0x10 */
		 0, 0x9487, 0x92CA, 	 0, 	 0, 0x90C0, 0xE797, 0x91AC, /* 0x10 */
	0x91A2, 0xE795, 0x88A7, 0x9841, 	 0, 	 0, 	 0, 0xE79A, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x91DF, 	 0, /* 0x20 */
		 0, 0x8F54, 0x9069, 	 0, 	 0, 0xE79C, 0xE79B, 	 0, /* 0x30 */
	0x88ED, 0xE79D, 	 0, 	 0, 0x954E, 	 0, 0xE7A5, 	 0, /* 0x30 */
		 0, 0x93D9, 0x908B, 	 0, 	 0, 0x9278, 	 0, 0x8BF6, /* 0x40 */
		 0, 0xE7A4, 0x9756, 0x895E, 	 0, 0x95D5, 0x89DF, 0xE79F, /* 0x40 */
	0xE7A0, 0xE7A1, 0xE7A2, 0x93B9, 0x9242, 0x88E1, 0xE7A6, 	 0, /* 0x50 */
	0xE7A7, 0xEAA1, 	 0, 	 0, 0x91BB, 	 0, 0xE7A8, 	 0, /* 0x50 */
	0x8993, 0x916B, 	 0, 0x8CAD, 	 0, 0x9779, 	 0, 0xFBB5, /* 0x60 */
	0xE7A9, 0x934B, 	 0, 	 0, 	 0, 0x9198, 0x8ED5, 0xE7AA, /* 0x60 */
		 0, 	 0, 0xE7AD, 	 0, 	 0, 0x8F85, 0xE7AB, 0x914A, /* 0x70 */
	0x9149, 	 0, 0x88E2, 	 0, 0x97C9, 0xE7AF, 	 0, 0x94F0, /* 0x70 */
	0xE7B1, 0xE7B0, 0xE7AE, 0xE284, 0x8AD2, 	 0, 	 0, 0xE78E, /* 0x80 */
		 0, 0xE7B3, 0xE7B2, 	 0, 	 0, 	 0, 	 0, 0xE7B4, /* 0x80 */
		 0, 0x9757, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 0x93DF, 	 0, 	 0, 0x964D, 	 0, /* 0xA0 */
	0xE7B5, 	 0, 0x8ED7, 	 0, 	 0, 	 0, 	 0, 0xE7B6, /* 0xA0 */
		 0, 0xE7B7, 	 0, 	 0, 	 0, 0xE7B8, 	 0, 	 0, /* 0xB0 */
	0x9340, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 0x88E8, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 0x8D78, 	 0, 	 0, 	 0, 0x9859, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 0xE7BC, 	 0, 	 0, 0xFBB6, 	 0, /* 0xD0 */
		 0, 0x8C53, 0xE7B9, 	 0, 0xE7BA, 	 0, 	 0, 	 0, /* 0xE0 */
	0x9594, 	 0, 	 0, 	 0, 	 0, 0x8A73, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9758, 	 0, 0x8BBD, /* 0xF0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9373					/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_91[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
					0xE7BD, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 0xE7BE, 	 0, 	 0, 0xFBB8, 	 0, 	 0, /* 0x10 */
		 0, 0xE7BF, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xFBB9, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9341, 	 0, 	 0, /* 0x20 */
	0xE7C1, 	 0, 0xE7C0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 0x93D1, 0xE7C2, 0x8F55, 0x8EDE, 0x947A, 0x9291, 	 0, /* 0x40 */
		 0, 	 0, 0x8EF0, 	 0, 0x908C, 	 0, 0xE7C3, 	 0, /* 0x50 */
	0xE7C4, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 0x907C, 0xE7C5, 	 0, 0xE7C6, 	 0, 	 0, /* 0x60 */
		 0, 0xE7C7, 0x978F, 	 0, 0x8F56, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 0xE7C9, 0xE7C8, 	 0, 0x8D79, 	 0, 0x8D93, /* 0x70 */
	0x8E5F, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 0xE7CC, 	 0, 	 0, 	 0, 	 0, 0x8F86, /* 0x80 */
		 0, 0xE7CB, 	 0, 0xE7CA, 	 0, 0x91E7, 	 0, 	 0, /* 0x80 */
	0x8CED, 	 0, 0x90C1, 	 0, 	 0, 	 0, 	 0, 0x94AE, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 0x8F58, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 0xE7CD, 	 0, 0x8FDD, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 0xE7D0, 0xE7CE, 	 0, 	 0, 	 0, 0xE7CF, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 0xE7D2, 0xE7D1, 	 0, 	 0, /* 0xB0 */
	0x8FF8, 	 0, 0xE7D3, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
	0xE7D4, 0xE7D5, 	 0, 	 0, 	 0, 	 0, 0x94CE, 0x8DD1, /* 0xC0 */
	0x8EDF, 0xE7D6, 	 0, 0xE7D7, 0x97A2, 0x8F64, 0x96EC, 0x97CA, /* 0xC0 */
	0xE7D8, 0x8BE0, 	 0, 	 0, 	 0, 	 0, 0xE7D9, 0xFBBB, /* 0xD0 */
	0x9342, 	 0, 0xFBBA, 0xE7DC, 0x8A98, 0x906A, 0xFBBC, 0xE7DA, /* 0xD0 */
		 0, 0xE7DB, 	 0, 0x92DE, 0xFBBF, 0xFBC0, 0x9674, 0x8BFA, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xFBBD, 0xFBBE, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE7DE, 0xE7DF, 	 0, /* 0xF0 */
		 0, 	 0, 	 0, 	 0, 0xE7DD, 	 0, 	 0, 0xE7E1	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_92[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
													0xFBC1, 	 0, /* 0x00 */
		 0, 	 0, 0xFBC3, 	 0, 	 0, 0x93DD, 0x8A62, 	 0, /* 0x00 */
	0xFBC2, 0xE7E5, 	 0, 	 0, 0xE7E2, 0xE7E4, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE7E0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 0xE86E, 	 0, 	 0, 0xE7E3, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 0x97E9, 	 0, 	 0, 0x8CD8, /* 0x30 */
		 0, 0xFBCA, 0xFBC4, 	 0, 0xFBC6, 	 0, 	 0, 0xE7ED, /* 0x30 */
	0xFBC5, 	 0, 	 0, 	 0, 0x9353, 0xE7E8, 	 0, 	 0, /* 0x40 */
	0xE7EB, 0xE7E9, 	 0, 0xE7EE, 	 0, 	 0, 0xFBC7, 	 0, /* 0x40 */
	0xE7EF, 0xFBC9, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE7E7, /* 0x50 */
		 0, 0xFBC8, 0xE7F4, 0x8994, 	 0, 	 0, 0xE7E6, 	 0, /* 0x50 */
		 0, 	 0, 0x94AB, 	 0, 0xE7EA, 	 0, 0x8FDE, 0xFBCB, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 0x8D7A, 	 0, 	 0, 	 0, 	 0, 	 0, 0xFBCD, /* 0x70 */
	0xFBCE, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9667, 	 0, /* 0x70 */
	0x8BE2, 	 0, 	 0, 0x8F65, 	 0, 0x93BA, 	 0, 	 0, /* 0x80 */
	0xFA5F, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 0x914C, 	 0, 0xE7F2, 	 0, 0xE7EC, 0xE7F1, 	 0, /* 0x90 */
	0x96C1, 	 0, 0x92B6, 0xE7F3, 0xE7F0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xFBCC, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x914B, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE7F7, /* 0xB0 */
		 0, 0xE7F6, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE7F5, /* 0xC0 */
	0xFBD2, 	 0, 0x964E, 0xFBD6, 	 0, 0xFBD4, 	 0, 0xFBD0, /* 0xD0 */
		 0, 0xFBD1, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
	0xFBD5, 	 0, 	 0, 	 0, 0x8F9B, 	 0, 	 0, 0xFBCF, /* 0xE0 */
		 0, 0xE7F8, 0x95DD, 	 0, 	 0, 0x8973, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 0x9565, 0x9292, 	 0, 	 0, 	 0, 	 0, /* 0xF0 */
	0x8B98, 0xFA65, 0xE7FA, 0xFBD9, 0x8D7C, 	 0, 	 0, 0xFBDC	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_93[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
					0xFBDE, 	 0, 	 0, 	 0, 0x8E4B, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE7F9, /* 0x00 */
	0x908D, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
	0x908E, 0xE840, 0xE842, 	 0, 	 0, 0xFBDD, 0xFBDB, 	 0, /* 0x10 */
	0x8FF9, 0xFBD8, 0xE841, 0xE843, 	 0, 0xFBD7, 0x8BD1, 	 0, /* 0x20 */
	0x9564, 	 0, 	 0, 0x8EE0, 0x9842, 	 0, 0xE7FC, 0x8DF6, /* 0x20 */
		 0, 	 0, 0x985E, 	 0, 	 0, 0xE845, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 0xE844, 0xE846, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 0xE7FB, 	 0, 	 0, 	 0, /* 0x40 */
	0xFA5E, 	 0, 	 0, 0x93E7, 	 0, 0x9374, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 0x92D5, 	 0, 0xE84B, 0xFBE0, /* 0x50 */
		 0, 	 0, 	 0, 0x9262, 0xE847, 	 0, 	 0, 	 0, /* 0x50 */
	0xE848, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 0x8C4C, 	 0, 0xE84A, 	 0, /* 0x60 */
	0xFBDF, 	 0, 	 0, 	 0, 	 0, 0x8CAE, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 0xE849, 	 0, 0x8FDF, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 0x8A99, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 0xE84F, 	 0, 0x8DBD, 0x9199, /* 0x90 */
		 0, 	 0, 0x92C8, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 0xFBE1, 	 0, 	 0, 0x8A5A, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 0xE84D, 0xE84E, 0x92C1, 	 0, /* 0xA0 */
	0xE84C, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 0xE850, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 0xE856, 	 0, 	 0, 0xFBE2, 	 0, /* 0xC0 */
	0xE859, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
	0xE858, 0x934C, 	 0, 	 0, 	 0, 	 0, 0xE851, 0xE852, /* 0xD0 */
	0xE855, 	 0, 	 0, 	 0, 	 0, 0xE857, 0xFBE3, 	 0, /* 0xD0 */
		 0, 0x8BBE, 	 0, 	 0, 0xE85A, 0xE854, 	 0, 	 0, /* 0xE0 */
	0xE853, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xF0 */
	0xFBE4															/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_94[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
							0xE85E, 	 0, 	 0, 	 0, 0xE85F, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
	0xE860, 	 0, 	 0, 0xE85D, 0xE85C, 	 0, 	 0, 	 0, /* 0x10 */
	0x8FE0, 0x93A8, 0xE85B, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 0xE864, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 0xE862, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 0xFBE5, 	 0, 	 0, 	 0, 0xE863, 0xE861, 	 0, /* 0x30 */
	0x91F6, 	 0, 0xE865, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 0xE866, 	 0, 	 0, 0xE868, 0xFBE6, 	 0, 	 0, /* 0x40 */
	0xFBE7, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 0x8AD3, 0xE867, 0x96F8, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 0xE873, 0xE869, 	 0, 	 0, 0xE86C, 	 0, /* 0x50 */
	0xE86A, 	 0, 0xE86B, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 0xE86D, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
	0xE86F, 	 0, 	 0, 	 0, 	 0, 0xE870, 	 0, 0xE871, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 0xE874, 0xE872, 0xE875, 0xE877, /* 0x70 */
		 0, 0xE876													/* 0x80 */
																	/* 0x80 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_95[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
															0x92B7, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
	0x96E5, 	 0, 0xE878, 0x914D, 	 0, 	 0, 	 0, 0xE879, /* 0x80 */
		 0, 0x95C2, 0xE87A, 0x8A4A, 	 0, 	 0, 	 0, 0x895B, /* 0x80 */
		 0, 0x8AD5, 0xFBE8, 0x8AD4, 0xE87B, 	 0, 0xE87C, 	 0, /* 0x90 */
	0xE87D, 0xE87E, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
	0xE880, 	 0, 0x8AD6, 0x8A74, 0x8D7D, 0x94B4, 	 0, 0xE882, /* 0xA0 */
	0xE881, 	 0, 	 0, 	 0, 	 0, 0xE883, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 0x897B, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 0xE886, 	 0, 0xE885, 0xE884, 	 0, 0xE887, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 0xE88A, 	 0, 	 0, 	 0, 0x88C5, /* 0xC0 */
		 0, 	 0, 0xE888, 	 0, 0xE88C, 0xE88B, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 0xE88E, 0xE88D, 0xE88F, 	 0, /* 0xD0 */
	0x93AC, 	 0, 	 0, 	 0, 0xE890, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 0xE891, 0xE893, 	 0, 	 0, 0xE892					/* 0xE0 */
																	/* 0xE0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_96[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
																	/* 0x10 */
									0x958C, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 0xE894, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
	0xE895, 	 0, 0x8DE3, 	 0, 	 0, 	 0, 0xE896, 0xE897, /* 0x20 */
		 0, 	 0, 0x9668, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 0x916A, 	 0, 	 0, 	 0, 0x88A2, /* 0x30 */
	0x91C9, 	 0, 0xE898, 	 0, 0x958D, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 0xE89B, 0xE899, 0x8D7E, 	 0, 0xE89A, /* 0x40 */
	0x8CC0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 0x95C3, 0xE89D, 0xE89F, 0xE89E, 0xE8A0, /* 0x50 */
		 0, 	 0, 0x8940, 0x9077, 0x8F9C, 0x8AD7, 0xE8A1, 	 0, /* 0x60 */
		 0, 	 0, 0x9486, 	 0, 0xE8A3, 	 0, 	 0, 	 0, /* 0x60 */
	0x8941, 	 0, 0xE8A2, 0x92C2, 	 0, 0x97CB, 0x93A9, 0xE89C, /* 0x70 */
	0x97A4, 	 0, 0x8CAF, 	 0, 	 0, 0x977A, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x8BF7, 0x97B2, 	 0, /* 0x80 */
	0x8C47, 	 0, 0x91E0, 0xE440, 	 0, 0xE8A4, 0x8A4B, 0x908F, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 0x8A75, 0xE8A6, 	 0, 0xE8A7, /* 0x90 */
	0xE8A5, 0x8C84, 	 0, 0x8DDB, 0x8FE1, 0xFBEB, 	 0, 	 0, /* 0x90 */
	0x8942, 	 0, 	 0, 0x97D7, 	 0, 	 0, 	 0, 0xE8A9, /* 0xA0 */
	0xE7AC, 	 0, 0xE8A8, 	 0, 	 0, 	 0, 	 0, 0xFBEC, /* 0xA0 */
	0xE8AC, 0xE8AA, 0xE8AB, 	 0, 0xE8AD, 	 0, 0xE8AE, 0x97EA, /* 0xB0 */
	0xE8AF, 0xE8B0, 	 0, 0x90C7, 0x94B9, 	 0, 	 0, 	 0, /* 0xB0 */
	0x909D, 0x8AE5, 	 0, 	 0, 0x9759, 0x89EB, 0x8F57, 0x8CD9, /* 0xC0 */
		 0, 0xE8B3, 	 0, 0xE8B2, 0x8E93, 0xE8B4, 0xE8B1, 	 0, /* 0xC0 */
		 0, 0x8E47, 	 0, 	 0, 	 0, 0xE8B8, 0xE5AB, 	 0, /* 0xD0 */
		 0, 0x99D4, 	 0, 0x9097, 0xE8B6, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 0x97A3, 0x93EF, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
	0x894A, 	 0, 0x90E1, 0x8EB4, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
	0x95B5, 	 0, 0x895F, 	 0, 	 0, 	 0, 0x97EB, 0x978B, /* 0xF0 */
		 0, 0xE8B9, 	 0, 0x9364									/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_97[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0x8EF9, 	 0, 	 0, 	 0, 0xE8BA, 	 0, 0xE8BB, 0x906B, /* 0x00 */
	0xE8BC, 	 0, 0x97EC, 	 0, 	 0, 0xE8B7, 0xE8BE, 0xE8C0, /* 0x00 */
		 0, 0xE8BF, 	 0, 0xE8BD, 	 0, 	 0, 0xE8C1, 	 0, /* 0x10 */
		 0, 0xE8C2, 	 0, 	 0, 0x919A, 	 0, 0x89E0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 0xE8C3, 	 0, 	 0, 0x96B6, /* 0x20 */
		 0, 	 0, 0xE8C4, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
	0xE8C5, 	 0, 0x9849, 0xFBED, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
	0x9E50, 0xE8C6, 	 0, 0xFBEE, 	 0, 0xE8C7, 0xE8C8, 	 0, /* 0x30 */
		 0, 	 0, 0xE8CC, 0xFBEF, 0xE8C9, 	 0, 0xE8CA, 	 0, /* 0x40 */
	0xE8CB, 0xE8CD, 	 0, 	 0, 	 0, 0xFBF0, 	 0, 0xFBF1, /* 0x40 */
		 0, 0xFBF2, 0x90C2, 	 0, 	 0, 0xFBF3, 0x96F5, 	 0, /* 0x50 */
		 0, 0x90C3, 	 0, 	 0, 0xE8CE, 	 0, 0x94F1, 	 0, /* 0x50 */
	0xE8CF, 0xEA72, 0x96CA, 	 0, 0xE8D0, 	 0, 0xE8D1, 	 0, /* 0x60 */
	0xE8D2, 0x8A76, 	 0, 0xE8D4, 	 0, 0x9078, 	 0, 	 0, /* 0x60 */
		 0, 0xE8D5, 	 0, 	 0, 0x8C43, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 0xE8D6, 0xE8DA, 	 0, 0xE8D8, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 0xE8D9, 	 0, 	 0, 0x8A93, 0xE8D7, 0xE8DB, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 0xE8DC, 	 0, 0x88C6, 	 0, 0xE8DD, /* 0x80 */
	0xE8DE, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
	0x8FE2, 	 0, 	 0, 	 0, 0xE8DF, 	 0, 	 0, 	 0, /* 0x90 */
	0x8B66, 	 0, 	 0, 0xE8E2, 	 0, 	 0, 0xE8E1, 	 0, /* 0xA0 */
	0xE8E0, 	 0, 	 0, 0xE691, 	 0, 0x95DA, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 0xE8E3, 0xE8E4, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 0xE8E5, 	 0, 	 0, 0xE8E6, 	 0, /* 0xC0 */
	0xE8E7, 	 0, 	 0, 0xE8E8, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 0x8AD8, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 0xE8E9, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE8EA, 0x9442, 	 0, /* 0xE0 */
		 0, 	 0, 0xE8EC, 0x89B9, 	 0, 0xE8EF, 0xE8EE, 	 0, /* 0xF0 */
		 0, 	 0, 	 0, 0x8943, 	 0, 	 0, 	 0, 0x8BBF	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_98[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0x95C5, 0x92B8, 0x8DA0, 	 0, 0x8D80, 0x8F87, 	 0, /* 0x00 */
	0x907B, 	 0, 	 0, 	 0, 0xE8F1, 	 0, 	 0, 0xE8F0, /* 0x00 */
	0x9761, 0x8AE6, 0x94D0, 0x93DA, 	 0, 	 0, 	 0, 0x909C, /* 0x10 */
	0x97CC, 	 0, 0x8C7A, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 0xE8F4, 	 0, 	 0, 0xE8F3, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 0x966A, 0x93AA, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 0x896F, 	 0, 	 0, 0xE8F5, /* 0x30 */
	0xE8F2, 	 0, 	 0, 0x9570, 0x978A, 0xE8F6, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE8F7, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 0xE8F9, 0x91E8, 0x8A7A, 0x8A7B, 0xE8F8, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 0x8AE7, 0x8CB0, 	 0, 0xFBF4, /* 0x50 */
	0x8AE8, 	 0, 	 0, 0x935E, 	 0, 	 0, 0x97DE, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xFBF5, 	 0, 0x8CDA, /* 0x60 */
		 0, 	 0, 	 0, 0xE8FA, 	 0, 	 0, 	 0, 0xE8FB, /* 0x60 */
	0xE8FC, 0xE940, 	 0, 0xE942, 0xE941, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
	0x9597, 	 0, 0xE943, 	 0, 	 0, 	 0, 	 0, 0xE944, /* 0xA0 */
		 0, 0xE945, 	 0, 	 0, 	 0, 	 0, 0xE946, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 0xE948, 0xE947, 	 0, 0xE949, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 0x94F2, 0xE3CA, 	 0, 	 0, 0x9048, /* 0xD0 */
		 0, 	 0, 0x8B51, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 0xE94A, 	 0, 0xE94B, 	 0, 0x99AA, 0x9F5A, 0x94D1, /* 0xE0 */
		 0, 	 0, 0x88F9, 	 0, 0x88B9, 	 0, 	 0, 	 0, /* 0xF0 */
		 0, 	 0, 	 0, 	 0, 0x8E94, 0x964F, 0x8FFC			/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_99[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
							0xE94C, 	 0, 0x96DD, 	 0, 	 0, /* 0x00 */
		 0, 0xE94D, 0x977B, 	 0, 0x8961, 	 0, 	 0, 	 0, /* 0x00 */
	0x8E60, 	 0, 0xE94E, 0x89EC, 0xE94F, 	 0, 	 0, 	 0, /* 0x10 */
	0xE950, 	 0, 	 0, 	 0, 	 0, 0xE952, 0xE953, 	 0, /* 0x10 */
	0xE955, 0xE951, 	 0, 	 0, 0xE954, 	 0, 	 0, 0xFBF8, /* 0x20 */
	0x8AD9, 	 0, 	 0, 	 0, 0xE956, 	 0, 0xE957, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE958, 0xE959, 	 0, /* 0x30 */
		 0, 	 0, 0xE95A, 	 0, 	 0, 0xE95C, 	 0, 	 0, /* 0x40 */
		 0, 0xE95B, 	 0, 0xE95E, 0xE961, 	 0, 	 0, 	 0, /* 0x40 */
	0xE95D, 0xE95F, 0xE960, 	 0, 	 0, 0xE962, 	 0, 0x8BC0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8EF1, 0xE963, /* 0x90 */
	0xE964, 0x8D81, 	 0, 	 0, 	 0, 	 0, 0xFBFA, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE965, 	 0, 	 0, /* 0xA0 */
	0x8A5D, 	 0, 	 0, 	 0, 0x946E, 0xE966, 0xE967, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 0x9279, 0x93E9, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 0xE968, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 0x949D, 	 0, 	 0, 0x91CA, 0x8977, 0x8BEC, 	 0, /* 0xC0 */
	0x8BED, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
	0x9293, 0xE96D, 0x8BEE, 	 0, 	 0, 0x89ED, 	 0, 	 0, /* 0xD0 */
	0xE96C, 	 0, 	 0, 0xE96A, 	 0, 0xE96B, 	 0, 0xE969, /* 0xD0 */
		 0, 	 0, 0xE977, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE96E, 0xE96F, 	 0, /* 0xE0 */
		 0, 0xE970, 0xE971, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xF0 */
	0xE973, 	 0, 	 0, 0xE972, 	 0, 	 0, 	 0, 0x8F78	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_9A[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0xE974, 	 0, 	 0, 	 0, 0xE976, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8B52, 0xE975, /* 0x00 */
		 0, 	 0, 0x919B, 0x8CB1, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 0xE978, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
	0x91CB, 	 0, 	 0, 0xE979, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
	0x93AB, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE97A, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE980, 	 0, /* 0x30 */
	0xE97D, 	 0, 0xE97C, 0xE97E, 	 0, 0xE97B, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE982, 0xFBFB, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE981, 	 0, 0xE984, /* 0x50 */
		 0, 	 0, 0x8BC1, 0xE983, 	 0, 	 0, 	 0, 0xE985, /* 0x50 */
		 0, 	 0, 0xE986, 	 0, 0xE988, 0xE987, 	 0, 	 0, /* 0x60 */
		 0, 0xE989, 0xE98B, 0xE98A, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
	0x8D9C, 	 0, 	 0, 	 0, 	 0, 0xE98C, 	 0, 	 0, /* 0xA0 */
	0xE98D, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
	0x8A5B, 	 0, 	 0, 	 0, 0xE98E, 	 0, 	 0, 	 0, /* 0xB0 */
	0xE98F, 	 0, 	 0, 	 0, 0x9091, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE990, /* 0xC0 */
		 0, 0xE991, 	 0, 0xE992, 0xE993, 	 0, 	 0, 	 0, /* 0xD0 */
	0x8D82, 0xFBFC, 	 0, 	 0, 0xFC40, 	 0, 0xE994, 0xE995, /* 0xD0 */
		 0, 	 0, 0xE996, 0xE997, 	 0, 	 0, 0xE998, 	 0, /* 0xE0 */
		 0, 	 0, 0x94AF, 0xE99A, 	 0, 0x9545, 0xE99B, 0xE999, /* 0xE0 */
		 0, 0xE99D, 	 0, 	 0, 0xE99C, 	 0, 	 0, 0xE99E, /* 0xF0 */
		 0, 	 0, 	 0, 0xE99F									/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_9B[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
													0xE9A0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
	0xE9A1, 	 0, 0xE9A2, 	 0, 	 0, 	 0, 	 0, 0xE9A3, /* 0x10 */
		 0, 	 0, 0xE9A4, 0xE9A5, 	 0, 0xE9A6, 	 0, 0xE9A7, /* 0x20 */
	0xE9A8, 0xE9A9, 0xE9AA, 	 0, 	 0, 	 0, 0xE9AB, 0xE9AC, /* 0x20 */
		 0, 0x9F54, 0xE9AD, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 0xE2F6, 0x8B53, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 0x8A40, 0x8DB0, 0xE9AF, 0xE9AE, 0x96A3, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xE9B1, 0xE9B2, 0xE9B0, /* 0x40 */
		 0, 0xE9B3, 	 0, 	 0, 0x9682, 	 0, 	 0, 	 0, /* 0x50 */
	0xE9B4, 	 0, 0x8B9B, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9844, /* 0x60 */
		 0, 	 0, 0xFC42, 	 0, 0xE9B5, 0xFC41, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 0xE9B7, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0x88BC, 0xFC43, /* 0x80 */
		 0, 0xE9B8, 0x95A9, 0xE9B6, 	 0, 	 0, 0xE9B9, 0xE9BA, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE9BB, /* 0x90 */
	0xE9BC, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
	0xE9BD, 	 0, 0x968E, 0x8E4C, 	 0, 0x8DF8, 0x914E, 	 0, /* 0xA0 */
		 0, 0xFC44, 	 0, 	 0, 0xE9BE, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 0xE9C1, 	 0, 0xFC45, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
	0xE9BF, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE9C2, 	 0, /* 0xC0 */
		 0, 0x8CEF, 0xE9C0, 	 0, 	 0, 	 0, 	 0, 0xE9C3, /* 0xC0 */
		 0, 0xE9C4, 0xE9C5, 	 0, 0xE9C9, 	 0, 0x8E49, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 0x91E2, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 0xE9CA, 0xE9C7, 0xE9C6, 0xE9C8, 	 0, 	 0, 	 0, /* 0xE0 */
	0x8C7E, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xE0 */
	0xE9CE, 0xE9CD, 0xE9CC, 	 0, 	 0, 0x88B1					/* 0xF0 */
																	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_9C[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0xFC46, 	 0, 	 0, 	 0, 0xE9D8, 	 0, 0xE9D4, 	 0, /* 0x00 */
	0xE9D5, 0xE9D1, 0xE9D7, 	 0, 0xE9D3, 0x8A82, 	 0, 	 0, /* 0x00 */
	0x986B, 	 0, 0xE9D6, 0xE9D2, 0xE9D0, 0xE9CF, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 0xE9DA, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
		 0, 0xE9DD, 	 0, 	 0, 0xE9DC, 0xE9DB, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x9568, 0xE9D9, 0x88F1, /* 0x20 */
	0xE9DE, 	 0, 0xE9E0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 0x8A8F, 0xE9CB, 0x8956, 	 0, 	 0, 0xE9E2, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE9E1, 0xE9DF, /* 0x40 */
	0x924C, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 0x9690, 	 0, 	 0, 	 0, 	 0, 0x97D8, /* 0x50 */
		 0, 	 0, 0xE9E3, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
	0xE9E4, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE9E5, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xE9E6, 	 0, /* 0x70 */
	0xE9E7, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x92B9, 	 0, 0xE9E8, /* 0xE0 */
		 0, 0x94B5, 	 0, 0xE9ED, 0xE9E9, 	 0, 	 0, 	 0, /* 0xE0 */
	0xE9EA, 	 0, 	 0, 0x9650, 0x96C2, 	 0, 0x93CE			/* 0xF0 */
																	/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_9D[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
							0xE9EE, 	 0, 	 0, 0xE9EF, 0x93BC, /* 0x00 */
	0xE9EC, 0xE9EB, 	 0, 	 0, 	 0, 	 0, 0x89A8, 	 0, /* 0x00 */
		 0, 	 0, 0xE9F7, 	 0, 	 0, 0xE9F6, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 0x8995, 	 0, 	 0, 	 0, 0xE9F4, /* 0x10 */
		 0, 	 0, 	 0, 0xE9F3, 	 0, 	 0, 0xE9F1, 	 0, /* 0x20 */
	0x8A9B, 	 0, 0xE9F0, 0x8EB0, 0x89A7, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 0x8D83, 	 0, 	 0, 0xE9FA, 0xE9F9, /* 0x30 */
		 0, 0xE9F8, 	 0, 	 0, 0xE9F5, 	 0, 0xE9FB, 	 0, /* 0x40 */
	0xE9FC, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
	0xEA44, 0xEA43, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 0xEA45, 	 0, 	 0, 0x894C, 0xEA40, 0xEA41, 	 0, /* 0x50 */
	0x8D94, 0x96B7, 	 0, 	 0, 0xEA42, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 0xFC48, 0x9651, 	 0, 	 0, 0xEA4A, /* 0x60 */
	0xFC47, 	 0, 0xEA46, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 0xEA4B, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xEA48, /* 0x80 */
		 0, 0xEA47, 	 0, 	 0, 	 0, 	 0, 	 0, 0x8C7B, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 0xEA4C, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 0xEA4D, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 0xEA4E, 	 0, 0xEA49, 	 0, 	 0, 	 0, 0xE9F2, /* 0xA0 */
		 0, 	 0, 0xEA4F, 	 0, 0x92DF, 	 0, 	 0, 	 0, /* 0xB0 */
	0xEA53, 	 0, 0xEA54, 0xEA52, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 0xEA51, 0xEA57, 	 0, 0xEA50, 	 0, 0xEA55, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xEA56, /* 0xC0 */
		 0, 	 0, 	 0, 0xEA59, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 0xEA58, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xEA5B, 	 0, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xEA5C, 	 0, 0xEA5D, /* 0xE0 */
		 0, 	 0, 0x9868, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xF0 */
	0xEA5A, 0x91E9, 0x8DEB, 	 0, 	 0, 0xEA5E					/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_9E[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
																	/* 0x10 */
			0xFC4A, 0xEA5F, 0xEA60, 	 0, 	 0, 0xEA61, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xEA62, 	 0, 	 0, /* 0x70 */
	0x8CB2, 0xEA63, 	 0, 	 0, 	 0, 0xEA64, 	 0, 0x8EAD, /* 0x70 */
		 0, 0xEA65, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
	0xEA66, 	 0, 	 0, 0xEA67, 0xEA68, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 0xEA6B, 0xEA69, 0x985B, 	 0, 0xEA6A, 	 0, 0x97ED, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xEA6C, 	 0, 0x97D9, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xEA6D, 0x949E, 	 0, /* 0xA0 */
		 0, 0xEA6E, 0xEA70, 	 0, 	 0, 0xEA71, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
	0xEA6F, 0x8D8D, 0x96CB, 0x9683, 0x9BF5, 	 0, 0x9F80, 0x969B, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 0x89A9, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 0xEA73, 0x8B6F, 0xEA74, 0xEA75, /* 0xC0 */
	0xEA76, 0xFC4B, 0x8D95, 	 0, 0xEA77, 	 0, 	 0, 	 0, /* 0xD0 */
	0xE0D2, 0x96D9, 	 0, 0x91E1, 0xEA78, 0xEA7A, 0xEA79, 	 0, /* 0xD0 */
	0xEA7B, 	 0, 	 0, 	 0, 	 0, 0xEA7C, 	 0, 	 0, /* 0xE0 */
	0xEA7D, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xEA7E, /* 0xE0 */
		 0, 	 0, 	 0, 	 0, 0xEA80, 	 0, 0xEA81, 0xEA82, /* 0xF0 */
		 0, 0xEA83, 	 0, 0xEA84, 0xEA85, 0xEA86					/* 0xF0 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_9F[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
															0xEA87, /* 0x00 */
	0xEA88, 	 0, 	 0, 	 0, 	 0, 	 0, 0x9343, 	 0, /* 0x00 */
		 0, 	 0, 	 0, 0x8CDB, 	 0, 0xEA8A, 	 0, 	 0, /* 0x10 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x10 */
	0x916C, 0xEA8B, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 0xEA8C, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 0x9540, 	 0, 	 0, 0xEA8D, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 0xEA8E, 0xE256, 	 0, 	 0, 0xE6D8, 0xE8EB, /* 0x40 */
		 0, 	 0, 0xEA8F, 	 0, 0xEA90, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 0xEA92, /* 0x50 */
	0xEA93, 0xEA94, 0x97EE, 0xEA91, 	 0, 	 0, 0xEA95, 0xEA96, /* 0x60 */
		 0, 	 0, 0xEA98, 	 0, 0xEA97, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 0xEA9A, 	 0, 	 0, 	 0, 0xEA9B, 0xEA99, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 0x97B4, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 0xEA9C, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 0xEA9D, 0xE273, 	 0, 	 0, /* 0x90 */
	0xEA9E															/* 0xA0 */
																	/* 0xA0 */
};

/* ----------------------------------------------------------------------- */

/* this table includes some IBM Kanji's */

static sal_uInt16 const aImplUniToDBCSTab_MS932_F9[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
																	/* 0x20 */
			0xFAE0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x20 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x30 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x40 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x50 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x60 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x70 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x80 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 0xFBE9							/* 0xD0 */
};

/* ----------------------------------------------------------------------- */

/* this table includes some IBM Kanji's */

static sal_uInt16 const aImplUniToDBCSTab_MS932_FA[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
																	/* 0x00 */
													0xFA90, 0xFA9B, /* 0x00 */
	0xFA9C, 0xFAB1, 0xFAD8, 0xFAE8, 0xFAEA, 0xFB58, 0xFB5E, 0xFB75, /* 0x10 */
	0xFB7D, 0xFB7E, 0xFB80, 0xFB82, 0xFB86, 0xFB89, 0xFB92, 0xFB9D, /* 0x10 */
	0xFB9F, 0xFBA0, 0xFBA9, 0xFBB1, 0xFBB3, 0xFBB4, 0xFBB7, 0xFBD3, /* 0x20 */
	0xFBDA, 0xFBEA, 0xFBF6, 0xFBF7, 0xFBF9, 0xFC49					/* 0x20 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_APPLEJAPANESE_FE[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
	0xEB64, 0xEB5C, 	 0, 0xEB51, 	 0, 0xEB69, 0xEB6A, 0xEB6F, /* 0x30 */
	0xEB70, 0xEB6B, 0xEB6C, 0xEB79, 0xEB7A, 0xEB73, 0xEB74, 0xEB71, /* 0x30 */
	0xEB72, 0xEB75, 0xEB76, 0xEB77, 0xEB78							/* 0x40 */
																	/* 0x40 */
};

/* ----------------------------------------------------------------------- */

static sal_uInt16 const aImplUniToDBCSTab_SJIS_FF[] =
{
/*		 0		 1		 2		 3		 4		 5		 6		 7 */
/*		 8		 9		 A		 B		 C		 D		 E		 F */
			0x8149, 0xFA57, 0x8194, 0x8190, 0x8193, 0x8195, 0xFA56, /* 0x00 */
	0x8169, 0x816A, 0x8196, 0x817B, 0x8143, 0x817C, 0x8144, 0x815E, /* 0x00 */
	0x824F, 0x8250, 0x8251, 0x8252, 0x8253, 0x8254, 0x8255, 0x8256, /* 0x10 */
	0x8257, 0x8258, 0x8146, 0x8147, 0x8183, 0x8181, 0x8184, 0x8148, /* 0x10 */
	0x8197, 0x8260, 0x8261, 0x8262, 0x8263, 0x8264, 0x8265, 0x8266, /* 0x20 */
	0x8267, 0x8268, 0x8269, 0x826A, 0x826B, 0x826C, 0x826D, 0x826E, /* 0x20 */
	0x826F, 0x8270, 0x8271, 0x8272, 0x8273, 0x8274, 0x8275, 0x8276, /* 0x30 */
	0x8277, 0x8278, 0x8279, 0x816D, 0x815F, 0x816E, 0x814F, 0x8151, /* 0x30 */
	0x814D, 0x8281, 0x8282, 0x8283, 0x8284, 0x8285, 0x8286, 0x8287, /* 0x40 */
	0x8288, 0x8289, 0x828A, 0x828B, 0x828C, 0x828D, 0x828E, 0x828F, /* 0x40 */
	0x8290, 0x8291, 0x8292, 0x8293, 0x8294, 0x8295, 0x8296, 0x8297, /* 0x50 */
	0x8298, 0x8299, 0x829A, 0x816F, 0x8162, 0x8170, 0x8160, 	 0, /* 0x50 */
		 0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, /* 0x60 */
	0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF, /* 0x60 */
	0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, /* 0x70 */
	0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, /* 0x70 */
	0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, /* 0x80 */
	0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, /* 0x80 */
	0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, /* 0x90 */
	0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, /* 0x90 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xA0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xB0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xC0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
		 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, 	 0, /* 0xD0 */
	0x8191, 0x8192, 0x81CA, 0x8150, 0xFA55, 0x818F					/* 0xE0 */
																	/* 0xE0 */
};

