--- com/jclark/xsl/sax/HTMLOutputHandler.java.org Sat Oct 23 18:19:50 1999
+++ com/jclark/xsl/sax/HTMLOutputHandler.java Tue Feb 22 18:16:25 2000
@@ -101,8 +101,23 @@
write(" ");
break;
default:
- if (c <= maxRepresentableChar)
+ if (c <= '\u007F')
write(c);
+ else if (c <= maxRepresentableChar) {
+ char[] cs = { c };
+ String s = new String(cs);
+ try {
+ byte[] bs = s.getBytes(EncodingName.toJava(encoding));
+ if (bs.length == 1 && bs[0] == '?')
+ write(getCharString(c));
+ else
+ write(c);
+ }
+ catch (java.io.UnsupportedEncodingException e) {
+ e.printStackTrace();
+ throw new RuntimeException();
+ }
+ }
else
write(getCharString(c));
break;
@@ -214,8 +229,23 @@
write(" ");
break;
default:
- if (c <= maxRepresentableChar)
+ if (c <= '\u007F')
write(c);
+ else if (c <= maxRepresentableChar) {
+ char[] cs = { c };
+ String s = new String(cs);
+ try {
+ byte[] bs = s.getBytes(EncodingName.toJava(encoding));
+ if (bs.length == 1 && bs[0] == '?')
+ write(getCharString(c));
+ else
+ write(c);
+ }
+ catch (java.io.UnsupportedEncodingException e) {
+ e.printStackTrace();
+ throw new RuntimeException();
+ }
+ }
else
write(getCharString(c));
break;