1 /* Copyright 2004 Elliotte Rusty Harold 2 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. 6 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. 11 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 16 17 You can contact Elliotte Rusty Harold by sending e-mail to 18 elharo@ibiblio.org. Please include the word "XOM" in the 19 subject line. The XOM home page is located at http://www.xom.nu/ 20 */ 21 22 package nu.xom; 23 24 import java.io.Writer; 25 26 /** 27 * <p> 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. 32 * </p> 33 * 34 * @author Elliotte Rusty Harold 35 * @version 1.0 36 * 37 */ 38 class UCSWriter extends TextWriter { 39 UCSWriter(Writer out, String encoding)40 UCSWriter(Writer out, String encoding) { 41 super(out, encoding); 42 } 43 44 /** 45 * @see nu.xom.TextWriter#needsEscaping(char) 46 */ needsEscaping(char c)47 boolean needsEscaping(char c) { 48 if (c < 0xD800) return false; 49 if (c <= 0xDFFF) return true; 50 return false; 51 } 52 53 } 54