Limitations of the MacBinary Toolkit 2 for Java

Last revised: 14May2003 GLG

Table of Contents

Limitations of the MacBinary Format

The MacBinary format has intrinsic limitations:

Limitations of the Generic Implementations

Limitations Common to All Mac OS Implementations

Limitations of the Classical Mac OS Implementations

The NineForker and ResolvingNineForker implementations do not have any of the above limitations.

Limitations of the Mac OS X Implementations

NOTE: All the Mac OS X implementations of isHidden() return true if either the INVISIBLE Finder-flag is set, or if the leaf-name starts with ".". This differs from File.isHidden(), which only recognizes the leading "." condition, and does not consider the Finder-flags at all.

MRJ 3.0 BUG: There is a bug in MRJ 3.0's java.awt.FileDialog that causes filenames with certain characters to be mangled. The problematic characters are all the non-ASCII UniCode characters, i.e. all those from \u0080 upwards, including accented letters, extended punctuation marks like copyright and bullet, and so on. Note that the problem is ONLY with java.awt.FileDialog and ONLY in MRJ 3.0. If you have other means to obtain filenames, those work fine even if the names contain accented characters.

PARTIAL WORK-AROUND: The FileDialogs presented by an AppFrame or AppDemoFrame have their output Strings repaired by app.util.Fixes.repairFD(String). You may want to do the same with your own FileDialogs. Unfortunately, this repair does not always work, because FileDialog has more than one way of mangling the filenames, and some of them are completely irreversible and unrecoverable. The best remedy is to use Mac OS X 10.1 or higher.


To Greg's Home Page
To Greg's Software Page