Repository navigation
Version 5.5.0, released 24 Oct 2024
- Initial release after switching from Eclipse to IntelliJ IDEA as the development enviroment for FC.
- Created
figurecomposerIntelliJ IDEA project withfigurecomposerandcommonmodules, copying all code, resource
and supporting files from original Eclipse projects. - Extensive minor changes throughout codebase to make it JDK11-compliant and fix all issues identified by IntelliJ IDEA. As of this release, FC users must have a Java 11 runtime in order to use Figure Composer. Furthermore, if they use the Matlab script
matfig2fyp()and its supporting JARs, they must configure Matlab to use a Java 11-compliant JRE like Amazon Corretto 11 rather than the default bundled Java 8 runtime. - Addressed issues encountered while generating FypML figures in Matlab R2024a, or when importing FIG files into FC
that were created by R2024a:- As of Matlab R2020a, most graphic properties that are "on"/"off" are returned as the enumeration
matlab.lang.OnOffSwitchState, which cannot be converted to a Java object. Modifiedmatfig2fyp.mto detect attributes of this kind and convert the value to either "on" (true) or "off" (false). - Incorporated JMatIO library source code as a module in the
figurecomposerproject, instead of building it as a separate project. The original library has been modified several times in order to successfully read in Matlab FIG files over the years:- (2013) Modified
MatFileReaderto ignoreMLArraytypesmxFUNCTION_CLASSandmxOPAQUE_CLASS. The original library code raised exceptions when trying to process test FIG files containing these array types. Since FC's FIG-to-FypML import engine doesn't need this content, the library was modified to skip over these array types and report them as empty. Added method to check whether a given file is a Level 5 Matlab FIG file. - (27feb2020) Removed any classes related to writing a MAT file, as FC does not need this functionality. Removed dependence on a JDK internal (not allowed in JDK9+), and changed default memory policy to use a direct byte buffer rather than memory mapping.
- (02jul2024) Mods to handle UTF16/32-encoded fields in the FIG file.
- (02jul2024) Ignore
java.io.EOFExceptionwhen decompressing any compressed content (MatDataTypes.miCOMPRESSED) in the FIG file.
- (2013) Modified
- As of Matlab R2020a, most graphic properties that are "on"/"off" are returned as the enumeration
Installation on MacOS/Windows/Linux
See instructions for the previous release.