Character encoding: Difference between revisions
From FreeMind
Jump to navigationJump to search
Dan Polansky (talk | contribs) No edit summary |
Dan Polansky (talk | contribs) No edit summary |
||
Line 2: | Line 2: | ||
Reading of UTF-8 encoded mind map files is supported to some extent; to be researched and documented. | Reading of UTF-8 encoded mind map files is supported to some extent; to be researched and documented. | ||
Reading of UTF-32BE, UTF-32LE, UTF-8, UTF-16BE and UTF-16LE seem to be all supported provided the mind map starts with byte order mark (BOM). | |||
Writing of UTF-8 is probably not supported; there was a feature request for this. | Writing of UTF-8 is probably not supported; there was a feature request for this. | ||
FreeMind does not seem to write any BOM natively. | |||
==Implementation== | ==Implementation== | ||
Line 9: | Line 13: | ||
* The above class is instantiated in MindMapMapModel.loadTree(final File) method. | * The above class is instantiated in MindMapMapModel.loadTree(final File) method. | ||
* Which is called from MindMapMapModel.load(File file). | * Which is called from MindMapMapModel.load(File file). | ||
* Class UnicodeReader determines the encoding from byte order mark (BOM), if any; it seems to take the passed-in "UTF-8" in case there is no BOM. | |||
Links: | Links: | ||
* [https://sourceforge.net/p/freemind/code/ci/master/tree/freemind/freemind/modes/mindmapmode/MindMapMapModel.java MindMapMapModel.java], sourceforge.net | * [https://sourceforge.net/p/freemind/code/ci/master/tree/freemind/freemind/modes/mindmapmode/MindMapMapModel.java MindMapMapModel.java], sourceforge.net | ||
* [https://sourceforge.net/p/freemind/code/ci/ae2e0364a92e71de2f85d3ba1ae2129a5736985d/tree/freemind/freemind/common/UnicodeReader.java UnicodeReader.java], sourceforge.net | |||
==Tracker items== | ==Tracker items== |
Revision as of 14:40, 6 June 2023
FreeMind stores unicode characters as XML character entities into mind map files.
Reading of UTF-8 encoded mind map files is supported to some extent; to be researched and documented.
Reading of UTF-32BE, UTF-32LE, UTF-8, UTF-16BE and UTF-16LE seem to be all supported provided the mind map starts with byte order mark (BOM).
Writing of UTF-8 is probably not supported; there was a feature request for this.
FreeMind does not seem to write any BOM natively.
Implementation
- Class FileReaderCreator in MindMapMapModel uses UTF-8 as the character encoding: 'return new UnicodeReader(new FileInputStream(mFile), "UTF-8");'
- The above class is instantiated in MindMapMapModel.loadTree(final File) method.
- Which is called from MindMapMapModel.load(File file).
- Class UnicodeReader determines the encoding from byte order mark (BOM), if any; it seems to take the passed-in "UTF-8" in case there is no BOM.
Links:
- MindMapMapModel.java, sourceforge.net
- UnicodeReader.java, sourceforge.net
Tracker items
- RC4 regression: incorrect viewing of UTF-8 map, bug, sourceforge.net
Limitations
- There is no or little support for XML declaration at the top of the mind map file; to be tested and clarified.
- Probably no writing in UTF-8, as per above.