📄 xcorrectinghtmlwriter.java
字号:
/***************************************************************** XBrowser - eXtended web Browser ** ** Copyright (c) 2000-2001 Armond Avanes ** Refer to ReadMe & License files for more information ** ** ** By: Uladzimir V. Kavalchuk ** Uladzimir_Kavalchuk@ep.minsk.by ** http://xbrowser.sourceforge.net/ ******************************************************************/package xbrowser.renderer.custom;import java.io.*;/** Filter (bad) HTMLWriter's output to restore &#num; symbols. * Used by XHTMLEditorKit for saving file. * @since 3.7 * @author wwk */public class XCorrectingHTMLWriter extends FilterWriter{ public XCorrectingHTMLWriter(Writer out) { super(out); } /** I looked at HTMLWriter implementation -- this method used that way. */ public void write(char cbuf[], int off, int len) throws IOException { if( lastWasStart) { lastWasStart = false; char c = convertToInteger(cbuf); if( c != 160) out.write(c); else out.write(" "); // This must go as is. ignoreSemicolon = true; } else if( len == 2 && cbuf[0] == '&' && cbuf[1] == '#') lastWasStart = true; else { if( ! ignoreSemicolon || len != 1 || cbuf[0] != ';') out.write(cbuf, off, len); ignoreSemicolon = false; } } private char convertToInteger(char []buf) { int i = 0; int v = 0; int len = buf.length; char c; do { c = buf[i]; if( ! Character.isDigit( c)) break; v *= 10; v += Character.digit( c, 10); } while( ++i < len); return (char) v; }// Attributes: private boolean lastWasStart = false; private boolean ignoreSemicolon = false;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -