/* Copyright 2002, 2003 Elliotte Rusty Harold
   
   This library is free software; you can redistribute it and/or modify
   it under the terms of version 2.1 of the GNU Lesser General Public 
   License as published by the Free Software Foundation.
   
   This library 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 Lesser General Public License for more details.
   
   You should have received a copy of the GNU Lesser General Public
   License along with this library; if not, write to the 
   Free Software Foundation, Inc., 59 Temple Place, Suite 330, 
   Boston, MA 02111-1307  USA
   
   You can contact Elliotte Rusty Harold by sending e-mail to
   elharo@ibiblio.org. Please include the word "XOM" in the
   subject line. The XOM home page is located at http://www.xom.nu/
*/

package nu.xom;

import java.io.Writer;

ISO 8859-5, ASCII plus Cyrillic (Russian, Byelorussian, etc.)

Author:Elliotte Rusty Harold
Version:1.0
/** * <p> * ISO 8859-5, ASCII plus Cyrillic (Russian, Byelorussian, etc.) * </p> * * @author Elliotte Rusty Harold * @version 1.0 * */
class ISOCyrillicWriter extends TextWriter { ISOCyrillicWriter(Writer out, String encoding) { super(out, encoding); }
See Also:
  • needsEscaping.needsEscaping(char)
/** * @see nu.xom.TextWriter#needsEscaping(char) */
boolean needsEscaping(char c) { if (c <= 0xA0) return false; switch (c) { case 0x0401: return false; // CYRILLIC CAPITAL LETTER IO case 0x0402: return false; // CYRILLIC CAPITAL LETTER DJE case 0x0403: return false; // CYRILLIC CAPITAL LETTER GJE case 0x0404: return false; // CYRILLIC CAPITAL LETTER UKRAINIAN IE case 0x0405: return false; // CYRILLIC CAPITAL LETTER DZE case 0x0406: return false; // CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I case 0x0407: return false; // CYRILLIC CAPITAL LETTER YI case 0x0408: return false; // CYRILLIC CAPITAL LETTER JE case 0x0409: return false; // CYRILLIC CAPITAL LETTER LJE case 0x040A: return false; // CYRILLIC CAPITAL LETTER NJE case 0x040B: return false; // CYRILLIC CAPITAL LETTER TSHE case 0x040C: return false; // CYRILLIC CAPITAL LETTER KJE case 0x040D: return true; // place holder to enable table lookup case 0x040E: return false; // CYRILLIC CAPITAL LETTER SHORT U case 0x040F: return false; // CYRILLIC CAPITAL LETTER DZHE case 0x0410: return false; // CYRILLIC CAPITAL LETTER A case 0x0411: return false; // CYRILLIC CAPITAL LETTER BE case 0x0412: return false; // CYRILLIC CAPITAL LETTER VE case 0x0413: return false; // CYRILLIC CAPITAL LETTER GHE case 0x0414: return false; // CYRILLIC CAPITAL LETTER DE case 0x0415: return false; // CYRILLIC CAPITAL LETTER IE case 0x0416: return false; // CYRILLIC CAPITAL LETTER ZHE case 0x0417: return false; // CYRILLIC CAPITAL LETTER ZE case 0x0418: return false; // CYRILLIC CAPITAL LETTER I case 0x0419: return false; // CYRILLIC CAPITAL LETTER SHORT I case 0x041A: return false; // CYRILLIC CAPITAL LETTER KA case 0x041B: return false; // CYRILLIC CAPITAL LETTER EL case 0x041C: return false; // CYRILLIC CAPITAL LETTER EM case 0x041D: return false; // CYRILLIC CAPITAL LETTER EN case 0x041E: return false; // CYRILLIC CAPITAL LETTER O case 0x041F: return false; // CYRILLIC CAPITAL LETTER PE case 0x0420: return false; // CYRILLIC CAPITAL LETTER ER case 0x0421: return false; // CYRILLIC CAPITAL LETTER ES case 0x0422: return false; // CYRILLIC CAPITAL LETTER TE case 0x0423: return false; // CYRILLIC CAPITAL LETTER U case 0x0424: return false; // CYRILLIC CAPITAL LETTER EF case 0x0425: return false; // CYRILLIC CAPITAL LETTER HA case 0x0426: return false; // CYRILLIC CAPITAL LETTER TSE case 0x0427: return false; // CYRILLIC CAPITAL LETTER CHE case 0x0428: return false; // CYRILLIC CAPITAL LETTER SHA case 0x0429: return false; // CYRILLIC CAPITAL LETTER SHCHA case 0x042A: return false; // CYRILLIC CAPITAL LETTER HARD SIGN case 0x042B: return false; // CYRILLIC CAPITAL LETTER YERU case 0x042C: return false; // CYRILLIC CAPITAL LETTER SOFT SIGN case 0x042D: return false; // CYRILLIC CAPITAL LETTER E case 0x042E: return false; // CYRILLIC CAPITAL LETTER YU case 0x042F: return false; // CYRILLIC CAPITAL LETTER YA case 0x0430: return false; // CYRILLIC SMALL LETTER A case 0x0431: return false; // CYRILLIC SMALL LETTER BE case 0x0432: return false; // CYRILLIC SMALL LETTER VE case 0x0433: return false; // CYRILLIC SMALL LETTER GHE case 0x0434: return false; // CYRILLIC SMALL LETTER DE case 0x0435: return false; // CYRILLIC SMALL LETTER IE case 0x0436: return false; // CYRILLIC SMALL LETTER ZHE case 0x0437: return false; // CYRILLIC SMALL LETTER ZE case 0x0438: return false; // CYRILLIC SMALL LETTER I case 0x0439: return false; // CYRILLIC SMALL LETTER SHORT I case 0x043A: return false; // CYRILLIC SMALL LETTER KA case 0x043B: return false; // CYRILLIC SMALL LETTER EL case 0x043C: return false; // CYRILLIC SMALL LETTER EM case 0x043D: return false; // CYRILLIC SMALL LETTER EN case 0x043E: return false; // CYRILLIC SMALL LETTER O case 0x043F: return false; // CYRILLIC SMALL LETTER PE case 0x0440: return false; // CYRILLIC SMALL LETTER ER case 0x0441: return false; // CYRILLIC SMALL LETTER ES case 0x0442: return false; // CYRILLIC SMALL LETTER TE case 0x0443: return false; // CYRILLIC SMALL LETTER U case 0x0444: return false; // CYRILLIC SMALL LETTER EF case 0x0445: return false; // CYRILLIC SMALL LETTER HA case 0x0446: return false; // CYRILLIC SMALL LETTER TSE case 0x0447: return false; // CYRILLIC SMALL LETTER CHE case 0x0448: return false; // CYRILLIC SMALL LETTER SHA case 0x0449: return false; // CYRILLIC SMALL LETTER SHCHA case 0x044A: return false; // CYRILLIC SMALL LETTER HARD SIGN case 0x044B: return false; // CYRILLIC SMALL LETTER YERU case 0x044C: return false; // CYRILLIC SMALL LETTER SOFT SIGN case 0x044D: return false; // CYRILLIC SMALL LETTER E case 0x044E: return false; // CYRILLIC SMALL LETTER YU case 0x044F: return false; // CYRILLIC SMALL LETTER YA case 0x0450: return true; // place holder to enable table lookup case 0x0451: return false; // CYRILLIC SMALL LETTER IO case 0x0452: return false; // CYRILLIC SMALL LETTER DJE case 0x0453: return false; // CYRILLIC SMALL LETTER GJE case 0x0454: return false; // CYRILLIC SMALL LETTER UKRAINIAN IE case 0x0455: return false; // CYRILLIC SMALL LETTER DZE case 0x0456: return false; // CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I case 0x0457: return false; // CYRILLIC SMALL LETTER YI case 0x0458: return false; // CYRILLIC SMALL LETTER JE case 0x0459: return false; // CYRILLIC SMALL LETTER LJE case 0x045A: return false; // CYRILLIC SMALL LETTER NJE case 0x045B: return false; // CYRILLIC SMALL LETTER TSHE case 0x045C: return false; // CYRILLIC SMALL LETTER KJE case 0x045D: return true; // place holder to enable table lookup case 0x045E: return false; // CYRILLIC SMALL LETTER SHORT U case 0x045F: return false; // CYRILLIC SMALL LETTER DZHE } switch (c) { // assorted leftover characters case 0x00AD: return false; // SOFT HYPHEN case 0x00A7: return false; // SECTION SIGN case 0x2116: return false; // NUMERO SIGN } return true; } }