root/10020_output_encode_in_utf8.patch
@
61:39fe80acca15
| Revision 61:39fe80acca15, 9.3 KB (checked in by Jiang Xin <worldhello.net AT gmail DOT com>, 3 years ago) |
|---|
-
accessories/freemind2flash.xsl
diff -r 49fd2454c340 accessories/freemind2flash.xsl
a b 1 <?xml version="1.0" encoding=" iso-8859-1"?>1 <?xml version="1.0" encoding="utf-8"?> 2 2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 3 3 version="1.0"> 4 4 … … 44 44 <xsl:template match="/"> 45 45 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 46 46 <head> 47 <meta http-equiv="Content-Type" content="text/html; charset= iso-8859-1" />47 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 48 48 <title><xsl:call-template name="output-title" /></title> 49 49 <xsl:element name="script"> 50 50 <xsl:attribute name="type">text/javascript</xsl:attribute> -
accessories/plugins/ExportWithXSLT.java
diff -r 49fd2454c340 accessories/plugins/ExportWithXSLT.java
a b 52 52 import accessories.plugins.util.html.ClickableImageCreator; 53 53 import accessories.plugins.util.xslt.ExportDialog; 54 54 import freemind.extensions.ExportHook; 55 import freemind.main.FreeMind; 55 56 import freemind.main.Resources; 56 57 import freemind.main.Tools; 57 58 import freemind.modes.MindIcon; … … 183 184 { 184 185 boolean success = true; 185 186 // Generating output Stream 186 BufferedWriter fileout = new BufferedWriter( new OutputStreamWriter( new FileOutputStream(pDirectoryName+File.separator + "map.mm") ) );187 BufferedWriter fileout = new BufferedWriter( new OutputStreamWriter( new FileOutputStream(pDirectoryName+File.separator + "map.mm"), FreeMind.DEFAULT_CHARSET ) ); 187 188 getController().getMap().getFilteredXml(fileout); 188 189 return success; 189 190 } -
freemind/main/FreeMind.java
diff -r 49fd2454c340 freemind/main/FreeMind.java
a b 128 128 // OSSXP.COM: set oem version. 129 129 public static final String HACKEDVERSION = "(MMX Hack <REVISION>, from ossxp.com)"; 130 130 131 // OSSXP.COM: set output character set to utf-8. 132 public static final String DEFAULT_CHARSET = "UTF-8"; 133 131 134 public static final String XML_VERSION = "0.9.0"; 132 135 133 136 public static final String RESOURCES_REMIND_USE_RICH_TEXT_IN_NEW_LONG_NODES = "remind_use_rich_text_in_new_long_nodes"; -
freemind/main/HtmlTools.java
diff -r 49fd2454c340 freemind/main/HtmlTools.java
a b 332 332 for (int i = 0; i < text.length(); ++i) { 333 333 myChar = text.charAt(i); 334 334 intValue = (int) text.charAt(i); 335 if (intValue < 32 || intValue > 126) {335 if (intValue < 32 || !Resources.getInstance().getBoolProperty("wh_nonascii_in_utf8") && intValue > 126) { 336 336 result.append("&#x").append(Integer.toString(intValue, 16)) 337 337 .append(';'); 338 338 } else { -
freemind/main/XMLElement.java
diff -r 49fd2454c340 freemind/main/XMLElement.java
a b 2118 2118 { 2119 2119 try { 2120 2120 ByteArrayOutputStream out = new ByteArrayOutputStream(); 2121 OutputStreamWriter writer = new OutputStreamWriter(out); 2121 // OSSXP.COM: Encode output to default_charset(UTF-8). 2122 OutputStreamWriter writer = new OutputStreamWriter(out, FreeMind.DEFAULT_CHARSET); 2122 2123 this.write(writer); 2123 2124 writer.flush(); 2124 2125 return new String(out.toByteArray()); … … 2270 2271 break; 2271 2272 default: 2272 2273 int unicode = (int) ch; 2273 if ((unicode < 32) || (unicode > 126)) { 2274 // OSSXP.COM: do not convert Chinese characters into &#blahblah; 2275 if (!Resources.getInstance().getBoolProperty("wh_nonascii_in_utf8") && unicode > 126 || unicode < 32) { 2274 2276 writer.write('&'); writer.write('#'); 2275 2277 writer.write('x'); 2276 2278 writer.write(Integer.toString(unicode, 16)); -
freemind/modes/StylePattern.java
diff -r 49fd2454c340 freemind/modes/StylePattern.java
a b 504 504 505 505 506 506 //Generating output Stream 507 BufferedWriter fileout = new BufferedWriter( new OutputStreamWriter( new FileOutputStream(file) ) ); 507 BufferedWriter fileout = new BufferedWriter( new OutputStreamWriter( new FileOutputStream(file) ) ); // in comments 508 508 pattern.write(fileout); 509 509 510 510 fileout.close(); -
freemind/modes/mindmapmode/MindMapController.java
diff -r 49fd2454c340 freemind/modes/mindmapmode/MindMapController.java
a b 114 114 import freemind.extensions.HookFactory.RegistrationContainer; 115 115 import freemind.main.ExampleFileFilter; 116 116 import freemind.main.FixedHTMLWriter; 117 import freemind.main.FreeMind; 117 118 import freemind.main.HtmlTools; 118 119 import freemind.main.Resources; 119 120 import freemind.main.Tools; … … 1729 1730 1730 1731 static public void saveHTML(MindMapNodeModel rootNodeOfBranch, File file) throws IOException { 1731 1732 BufferedWriter fileout = new BufferedWriter(new OutputStreamWriter( 1732 new FileOutputStream(file) ));1733 new FileOutputStream(file), FreeMind.DEFAULT_CHARSET)); 1733 1734 MindMapHTMLWriter htmlWriter = new MindMapHTMLWriter( 1734 1735 fileout); 1735 1736 htmlWriter.saveHTML(rootNodeOfBranch); -
freemind/modes/mindmapmode/MindMapHTMLWriter.java
diff -r 49fd2454c340 freemind/modes/mindmapmode/MindMapHTMLWriter.java
a b 92 92 for (int i = 0; i < len; ++i) { 93 93 myChar = text.charAt(i); 94 94 intValue = (int) text.charAt(i); 95 if ( intValue >= 128) {95 if (!Resources.getInstance().getBoolProperty("wh_nonascii_in_utf8") && intValue >= 128) { 96 96 result.append(convertSpecialChar(myChar)); 97 97 } 98 98 else { … … 690 690 return Resources.getInstance().getProperty(key); 691 691 } 692 692 693 } 694 No newline at end of file 693 } -
freemind/modes/mindmapmode/MindMapMapModel.java
diff -r 49fd2454c340 freemind/modes/mindmapmode/MindMapMapModel.java
a b 171 171 public boolean saveTXT(MindMapNodeModel rootNodeOfBranch, File file) { 172 172 // Returns success of the operation. 173 173 try { 174 BufferedWriter fileout = new BufferedWriter( new OutputStreamWriter( new FileOutputStream(file) ) );174 BufferedWriter fileout = new BufferedWriter( new OutputStreamWriter( new FileOutputStream(file), FreeMind.DEFAULT_CHARSET ) ); 175 175 rootNodeOfBranch.saveTXT(fileout,/*depth=*/0); 176 176 fileout.close(); 177 177 return true; … … 252 252 if(timerForAutomaticSaving != null) { 253 253 timerForAutomaticSaving.cancel(); 254 254 } 255 BufferedWriter fileout = new BufferedWriter( new OutputStreamWriter( new FileOutputStream(file) ) ); 255 // OSSXP.COM: save file using default character set. 256 BufferedWriter fileout = new BufferedWriter( new OutputStreamWriter( new FileOutputStream(file), FreeMind.DEFAULT_CHARSET ) ); 256 257 getXml(fileout); 257 258 258 259 if(!isInternal) { … … 280 281 * @throws IOException 281 282 */ 282 283 private void getXml(Writer fileout, boolean saveInvisible) throws IOException { 284 // OSSXP.COM: write xml declare. 285 fileout.write("<?xml version=\"1.0\" encoding=\"" + FreeMind.DEFAULT_CHARSET + "\"?>\n"); 283 286 fileout.write("<map "); 284 287 fileout.write("version=\""+FreeMind.XML_VERSION+"\""); 285 288 fileout.write(">\n"); … … 361 364 362 365 MindMapNodeModel loadTree(File file) throws XMLParseException, IOException { 363 366 int versionInfoLength; 364 versionInfoLength = EXPECTED_START_STRINGS[0].length();367 versionInfoLength = 0; 365 368 // reading the start of the file: 366 StringBuffer buffer = readFileStart(file, versionInfoLength); 369 // OSSXP.COM: 370 // because we add a xml declare, the mm file now begin with "<xml", 371 // so direct match mmap version will failed. 372 // search "<map" and store matched line into buffer. 373 BufferedReader in=null; 374 String buffer = null; 375 try { 376 // get the file start into the memory: 377 in = new BufferedReader(new FileReader(file)); 378 while ((buffer = in.readLine()) != null) { 379 // buffer contains line start with "<map", stop matching. 380 if (buffer.substring(0,4).equals("<map")) 381 { 382 break; 383 } 384 } 385 in.close(); 386 } catch (Exception e) { 387 e.printStackTrace(); 388 buffer = ""; 389 } 390 367 391 // the resulting file is accessed by the reader: 368 392 Reader reader = null; 369 393 for(int i = 0; i < EXPECTED_START_STRINGS.length; i++){
Note: See TracBrowser
for help on using the browser.
![(please configure the [header_logo] section in trac.ini)](/trac/freemind/chrome/common/trac_banner.png)