Input_UnicodeBig.java: New class..
* gnu/gcj/convert/Input_UnicodeBig.java: New class.. * gnu/gcj/convert/Input_UnicodeLittle.java: New class. * Makefile.am: Update accordingly. * gnu/gcj/convert/IOConverter.java: Define "utf-16le" and "utf16be" as aliases for UnicodeLittle and UnicodeBig. From-SVN: r79723
This commit is contained in:
parent
4546865e5b
commit
0fca95f56f
6 changed files with 119 additions and 5 deletions
|
@ -1,3 +1,11 @@
|
|||
2004-03-19 Per Bothner <per@bothner.com>
|
||||
|
||||
* gnu/gcj/convert/Input_UnicodeBig.java: New class..
|
||||
* gnu/gcj/convert/Input_UnicodeLittle.java: New class.
|
||||
* Makefile.am: Update accordingly.
|
||||
* gnu/gcj/convert/IOConverter.java: Define "utf-16le" and "utf16be"
|
||||
as aliases for UnicodeLittle and UnicodeBig.
|
||||
|
||||
2004-03-20 Mark Wielaard <mark@klomp.org>
|
||||
|
||||
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
|
||||
|
|
|
@ -882,6 +882,8 @@ gnu/gcj/convert/Input_ASCII.java \
|
|||
gnu/gcj/convert/Input_EUCJIS.java \
|
||||
gnu/gcj/convert/Input_JavaSrc.java \
|
||||
gnu/gcj/convert/Input_SJIS.java \
|
||||
gnu/gcj/convert/Input_UnicodeBig.java \
|
||||
gnu/gcj/convert/Input_UnicodeLittle.java \
|
||||
gnu/gcj/convert/Input_UTF8.java \
|
||||
gnu/gcj/convert/Input_iconv.java \
|
||||
gnu/gcj/convert/IOConverter.java \
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
|
||||
# Makefile.in generated automatically by automake 1.4 from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
@ -565,6 +565,8 @@ gnu/gcj/convert/Input_ASCII.java \
|
|||
gnu/gcj/convert/Input_EUCJIS.java \
|
||||
gnu/gcj/convert/Input_JavaSrc.java \
|
||||
gnu/gcj/convert/Input_SJIS.java \
|
||||
gnu/gcj/convert/Input_UnicodeBig.java \
|
||||
gnu/gcj/convert/Input_UnicodeLittle.java \
|
||||
gnu/gcj/convert/Input_UTF8.java \
|
||||
gnu/gcj/convert/Input_iconv.java \
|
||||
gnu/gcj/convert/IOConverter.java \
|
||||
|
@ -3007,6 +3009,8 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
|
|||
.deps/gnu/gcj/convert/Input_EUCJIS.P \
|
||||
.deps/gnu/gcj/convert/Input_JavaSrc.P \
|
||||
.deps/gnu/gcj/convert/Input_SJIS.P .deps/gnu/gcj/convert/Input_UTF8.P \
|
||||
.deps/gnu/gcj/convert/Input_UnicodeBig.P \
|
||||
.deps/gnu/gcj/convert/Input_UnicodeLittle.P \
|
||||
.deps/gnu/gcj/convert/Input_iconv.P \
|
||||
.deps/gnu/gcj/convert/JIS0208_to_Unicode.P \
|
||||
.deps/gnu/gcj/convert/JIS0212_to_Unicode.P \
|
||||
|
@ -4977,7 +4981,7 @@ maintainer-clean-recursive:
|
|||
dot_seen=no; \
|
||||
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
rev="$$subdir $$rev"; \
|
||||
test "$$subdir" != "." || dot_seen=yes; \
|
||||
test "$$subdir" = "." && dot_seen=yes; \
|
||||
done; \
|
||||
test "$$dot_seen" = "no" && rev=". $$rev"; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
|
@ -5019,7 +5023,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
|
|||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
||||
|| (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags $$unique $(LISP))
|
||||
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
|
||||
|
||||
mostlyclean-tags:
|
||||
|
||||
|
|
|
@ -63,7 +63,9 @@ public abstract class IOConverter
|
|||
hash.put ("extended_unix_code_packed_format_for_japanese", "EUCJIS");
|
||||
hash.put ("cseucpkdfmtjapanese", "EUCJIS");
|
||||
hash.put ("euc-jp", "EUCJIS");
|
||||
|
||||
hash.put ("euc-jp", "EUCJIS");
|
||||
hash.put ("utf-16le", "UnicodeLittle");
|
||||
hash.put ("utf-16be", "UnicodeBig");
|
||||
iconv_byte_swap = iconv_init ();
|
||||
}
|
||||
|
||||
|
|
49
libjava/gnu/gcj/convert/Input_UnicodeBig.java
Normal file
49
libjava/gnu/gcj/convert/Input_UnicodeBig.java
Normal file
|
@ -0,0 +1,49 @@
|
|||
/* Copyright (C) 2004 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package gnu.gcj.convert;
|
||||
|
||||
public class Input_UnicodeBig extends BytesToUnicode
|
||||
{
|
||||
/** 0, 8, or 16 bits of a partially constructed character. */
|
||||
char partial;
|
||||
/** How many bytes of partial are valid. */
|
||||
int partial_count;
|
||||
|
||||
public String getName() { return "UnicodeBig"; }
|
||||
|
||||
public int read (char[] outbuffer, int outpos, int count)
|
||||
{
|
||||
int origcount = count;
|
||||
for (;;)
|
||||
{
|
||||
if (partial_count == 2)
|
||||
{
|
||||
if (count == 0)
|
||||
break;
|
||||
if (partial == 0xFEFF)
|
||||
; // drop byte order mark
|
||||
// else if (partial >= 0xFFFe) ERROR;
|
||||
else
|
||||
outbuffer[outpos++] = partial;
|
||||
count--;
|
||||
partial_count = 0;
|
||||
partial = 0;
|
||||
}
|
||||
else if (inpos >= inlength)
|
||||
break;
|
||||
else
|
||||
{
|
||||
int b = inbuffer[inpos++] & 0xFF;
|
||||
partial = (char) (((int) partial << 8) + b);
|
||||
partial_count++;
|
||||
}
|
||||
}
|
||||
return origcount - count;
|
||||
}
|
||||
}
|
49
libjava/gnu/gcj/convert/Input_UnicodeLittle.java
Normal file
49
libjava/gnu/gcj/convert/Input_UnicodeLittle.java
Normal file
|
@ -0,0 +1,49 @@
|
|||
/* Copyright (C) 2004 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package gnu.gcj.convert;
|
||||
|
||||
public class Input_UnicodeLittle extends BytesToUnicode
|
||||
{
|
||||
/** 0, 8, or 16 bits of a partially constructed character. */
|
||||
char partial;
|
||||
/** How many bytes of partial are valid. */
|
||||
int partial_count;
|
||||
|
||||
public String getName() { return "UnicodeLittle"; }
|
||||
|
||||
public int read (char[] outbuffer, int outpos, int count)
|
||||
{
|
||||
int origcount = count;
|
||||
for (;;)
|
||||
{
|
||||
if (partial_count == 2)
|
||||
{
|
||||
if (count == 0)
|
||||
break;
|
||||
if (partial == 0xFEFF)
|
||||
; // drop byte order mark
|
||||
// else if (partial >= 0xFFFe) ERROR;
|
||||
else
|
||||
outbuffer[outpos++] = partial;
|
||||
count--;
|
||||
partial_count = 0;
|
||||
partial = 0;
|
||||
}
|
||||
else if (inpos >= inlength)
|
||||
break;
|
||||
else
|
||||
{
|
||||
int b = inbuffer[inpos++] & 0xFF;
|
||||
partial = (char) (partial | (b << (8 * partial_count)));
|
||||
partial_count++;
|
||||
}
|
||||
}
|
||||
return origcount - count;
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue