/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
class XMap {
/* ConvertedGlyphs has unicode code points as indexes and values
* are platform-encoded multi-bytes chars packed into java chars.
* These platform-encoded characters are equated to glyph ids, although
* that's not strictly true, as X11 only supports using chars.
* The assumption carried over from the native implementation that
* a char is big enough to hold an X11 glyph id (ie platform char).
*/
char[] convertedGlyphs;
}
return mapper;
}
int nBytes = SINGLE_BYTE;
int maxU = 0xffff;
int minU = 0;
boolean addAscii = false;
boolean lowPartOnly = false;
jclass = "sun.awt.motif.X11Dingbats";
minU = 0x2701;
maxU = 0x27be;
jclass = "sun.awt.Symbol";
minU = 0x0391;
maxU = 0x22ef;
maxU = 0xff;
jclass = "ISO8859_2";
jclass = "sun.awt.motif.X11JIS0208";
jclass = "sun.awt.motif.X11JIS0201";
// this is mapping the latin supplement range 128->255 which
// doesn't exist in JIS0201. This needs examination.
// it was also overwriting a couple of the mappings of
// 7E and A5 which in JIS201 are different chars than in
// Latin 1. I have revised AddAscii to not overwrite chars
// which are already converted.
addAscii = true;
lowPartOnly = true;
jclass = "sun.awt.motif.X11JIS0212";
jclass = "ISO8859_4";
jclass = "ISO8859_5";
jclass = "KOI8_R";
jclass = "windows-1251";
jclass = "ISO8859_6";
jclass = "ISO8859_7";
jclass = "ISO8859_8";
jclass = "ISO8859_9";
jclass = "ISO8859_13";
jclass = "ISO8859_15";
jclass ="sun.awt.motif.X11KSC5601";
jclass ="sun.awt.motif.X11Johab";
jclass ="EUC_KR";
jclass = "sun.awt.motif.X11CNS11643P1";
jclass = "sun.awt.motif.X11CNS11643P2";
jclass = "sun.awt.motif.X11CNS11643P3";
jclass = "sun.awt.motif.X11GB2312";
jclass = "Big5";
addAscii = true;
jclass = "TIS620";
jclass = "sun.awt.motif.X11GBK";
jclass = "sun.awt.motif.X11SunUnicode_0";
jclass = "sun.awt.motif.X11GB18030_1";
jclass = "sun.awt.motif.X11GB18030_0";
jclass = "sun.awt.HKSCS";
}
}
boolean addAscii, boolean lowPartOnly) {
try {
} else {
}
} catch (Exception x) {x.printStackTrace();}
}
convertedGlyphs = new char[256];
for (int i=0; i<256; i++) {
convertedGlyphs[i] = (char)i;
}
return;
} else {
/* chars is set to the unicode values to convert,
* bytes is where the X11 character codes will be output.
* Finally we pack the byte pairs into chars.
*/
for (int i=0; i<count; i++) {
}
int startCharIndex = 0;
/* For multi-byte encodings, single byte chars should be skipped */
}
try {
int cbLen = 0;
int bbLen = 0;
// Since we dont support surrogates in any X11 encoding, skip
// the surrogate area, otherwise the sequence of "Oxdbff0xdc00"
// will accidently cause the surrogate-aware nio charset to treat
// them as a legal pair and then undesirablly skip 2 "chars"
// for one "unmappable character"
true);
}
true);
} catch (Exception e) { e.printStackTrace();}
convertedGlyphs = new char[65536];
for (int i=0; i<count; i++) {
if (nBytes == 1) {
} else {
convertedGlyphs[i+minU] =
}
}
}
for (int i=0;i<max;i++) {
if (convertedGlyphs[i] == 0) {
convertedGlyphs[i] = (char)i;
}
}
}
}
}