com.ibm.as400.access.ConvTable4396 Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jt400 Show documentation
Show all versions of jt400 Show documentation
The Open Source version of the IBM Toolbox for Java
The newest version!
///////////////////////////////////////////////////////////////////////////////
//
// JTOpen (IBM Toolbox for Java - OSS version)
//
// Filename: ConvTable4396.java
//
// The source code contained herein is licensed under the IBM Public License
// Version 1.0, which has been approved by the Open Source Initiative.
// Copyright (C) 1997-2005 International Business Machines Corporation and
// others. All rights reserved.
//
///////////////////////////////////////////////////////////////////////////////
package com.ibm.as400.access;
import java.util.Hashtable;
// This is a Japanese character set.
class ConvTable4396 extends ConvTable300
{
ConvTable4396()
{
super(4396);
}
// This method is a bad idea because it modifies existing tables
// which are usually static tables with a single definition.
// Since it is a static table, it should be treated as immutable.
// Replace this with two methods that return the new tables
// and keep a copy for reuse if needed again
//static void makeAlternateMap(char[] toUnicode, char[] fromUnicode)
//{
// toUnicode[0x4260] = '\uFF0D';
// toUnicode[0x426A] = '\uFFE4';
// toUnicode[0x43A1] = '\uFF5E';
// toUnicode[0x444A] = '\u2015';
// toUnicode[0x447C] = '\u2225';
//
// fromUnicode[0x2015] = '\u444A';
// fromUnicode[0x2225] = '\u447C';
// fromUnicode[0xFF0D] = '\u4260';
// fromUnicode[0xFF5E] = '\u43A1';
// fromUnicode[0xFFE4] = '\u426A';
//}
//
static Hashtable alternateToUnicodeMap = new Hashtable();
static Hashtable alternateFromUnicodeMap = new Hashtable();
static ConvTableDoubleMap makeAlternateMap(ConvTableDoubleMap inMap, int ccsid) {
ConvTableDoubleMap newMap = new ConvTableDoubleMap(inMap);
char[] toUnicode = inMap.getToUnicode();
char [] newToUnicode = (char []) alternateToUnicodeMap.get(""+ccsid);
if (newToUnicode == null) {
newToUnicode = new char[toUnicode.length];
System.arraycopy(toUnicode, 0, newToUnicode, 0, toUnicode.length);
newToUnicode[0x444A] = '\u2015';
newToUnicode[0x43A1] = '\uFF5E';
newToUnicode[0x447C] = '\u2225';
newToUnicode[0x4260] = '\uFF0D';
newToUnicode[0x426A] = '\uFFE4';
alternateToUnicodeMap.put(""+ccsid, newToUnicode);
}
newMap.setToUnicode( newToUnicode);
char[] fromUnicode = inMap.getFromUnicode();
char[] newFromUnicode = (char[]) alternateFromUnicodeMap.get(""+ccsid);
if (newFromUnicode == null) {
newFromUnicode = new char[fromUnicode.length];
System.arraycopy(fromUnicode, 0, newFromUnicode, 0, fromUnicode.length);
newFromUnicode[0x2015] = '\u444A';
newFromUnicode[0xFF5E] = '\u43A1';
newFromUnicode[0x2225] = '\u447C';
newFromUnicode[0xFF0D] = '\u4260';
newFromUnicode[0xFFE4] = '\u426A';
/* @V5A */
if ((ccsid == 5035) || (ccsid == 5026) || (ccsid == 930) || (ccsid == 939) ) {
newFromUnicode[0x525D] = '\u5481';
newFromUnicode[0x5c5B] = '\u5443';
newFromUnicode[0x7c1e] = '\u54CA';
newFromUnicode[0x87ec] = '\u53E8';
newFromUnicode[0x9a52] = '\u53DA';
}
alternateFromUnicodeMap.put(""+ccsid, newFromUnicode);
}
newMap.setFromUnicode(newFromUnicode);
return newMap;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy