Character encoding: Difference between revisions

From FreeMind
Jump to navigationJump to search
No edit summary
No edit summary
Line 23: Line 23:
* [https://sourceforge.net/p/freemind/feature-requests/882/ #882 Why not UTF-8 file?], FR, 2015-12-21, sourceforge.net
* [https://sourceforge.net/p/freemind/feature-requests/882/ #882 Why not UTF-8 file?], FR, 2015-12-21, sourceforge.net
* [https://sourceforge.net/p/freemind/feature-requests/827/ #827 saving .mm files in UTF-8], FR, 2012-03-08, sourceforge.net
* [https://sourceforge.net/p/freemind/feature-requests/827/ #827 saving .mm files in UTF-8], FR, 2012-03-08, sourceforge.net
* [https://sourceforge.net/p/freemind/patches/67/ #67 Utf-8 aware, and better Chinese characters], patches, 2006-04-07, sourceforge.net -- points to [[User:Jiangxin/Better chinese characters support]]


==Limitations==
==Limitations==

Revision as of 15:13, 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, with or without UTF-8 byte order mark (BOM).

Reading of UTF-32BE, UTF-32LE, 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 write any BOM natively; given it writes XML character entities, it would make no sense.

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:

Tracker items

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.

See also