1
/* Copyright 2004 Elliotte Rusty Harold
3
This library is free software; you can redistribute it and/or modify
4
it under the terms of version 2.1 of the GNU Lesser General Public
5
License as published by the Free Software Foundation.
7
This library is distributed in the hope that it will be useful,
8
but WITHOUT ANY WARRANTY; without even the implied warranty of
9
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
GNU Lesser General Public License for more details.
12
You should have received a copy of the GNU Lesser General Public
13
License along with this library; if not, write to the
14
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
15
Boston, MA 02111-1307 USA
17
You can contact Elliotte Rusty Harold by sending e-mail to
18
elharo@metalab.unc.edu. Please include the word "XOM" in the
19
subject line. The XOM home page is located at http://www.xom.nu/
24
import java.io.Writer;
28
* Theoretically, I should be able to use a UnicodeWriter
29
* for UCS4. However, there's an apparent bug in handling non-BMP
30
* characters that I haven't been able to track down, so this class
31
* works around it buy escaping all non-BMP characters.
34
* @author Elliotte Rusty Harold
38
class UCSWriter extends TextWriter {
40
UCSWriter(Writer out, String encoding) {
45
* @see nu.xom.TextWriter#needsEscaping(char)
47
boolean needsEscaping(char c) {
48
if (c < 0xD800) return false;
49
if (c <= 0xDFFF) return true;