Problems with ".zip" on Mac OS 9 and earlier:

"When the ZIP archive is created on Mac OSX, it puts the contents of the resource fork into a special "__MACOSX" folder in the top level of the archive. When you double-click on the archive in Mac OSX, the contents of the "__MACOSX" folder is magically joined with the files in other parts of the archive and the resource forks are re-created. Unfortunately, other ZIP applications don't have this "Magic Join" feature and will leave the resource data abandoned in the "__MACOSX" folder. Consider a scenario where a ZIP archive created with Panther is mailed to a project manager who's running Windows. They see the ZIP file and uncompress it with WinZIP. The files are then copied to a server so that a Mac developer can work with them. And what happens when some of those files are resource files? They're sitting on the server, corrupted, with no way to be recovered. And it's far from obvious where the data was lost. The sender checks his copy and it's OK. The project manager didn't see any errors. The developer scratches his head and wonders what that "__MACOSX" folder is all about. After searching on Google for some answers, he may end up here."

"I have been receiving collected output files from clients who say the fonts are good but when I receive them and extract the archive of their output the fonts are showing 0 KB. They are working on a Mac and so am I. Does anyone know why the fonts would show up as 0 KB and how to suggest to the client a way to get me the fonts correctly. Thank You!"

"Almost every time I get files from Mac users, to use on my PC, I get these small files, sometimes with the same name, and sometimes a folder called __MACOSX. They seem pretty useless, since none of the data I need is in these files. What are they, what purpose do they serve, and why are they shipped with Mac files, if they have no data I can use."

"Zip files don't support resources - so Apple puts all resource forks into a special MACOSX directory. Unzipping on MacOS X will recombine the files, unzipping on OS 9 will not. You have to use StuffIt if you want compression that works on both 9 and X."

"I'm trying to write a simple archiving program (testing an algorithm mostly), but I've run into a problem: while the program works with most Mac OS X files (read: files with data forks only), it doesn't work with files with resource forks. While this isn't the terrible tragedy it would be in the days of OS 9, there are still many files which depend, in some cases entirely, on resource forks (EV Nova plugins, for example), it only archives the data fork of the file and ignores the resource fork entirely. When I un-archive the files, the data fork is complete, but the resource fork is gone. Is there any easy way to deal with the resource fork? Preferably something that doesn't require knowledge of the internal structure of it? I know that Apple's ZIP application splits the forks, and puts the resource fork in a __MACOSX folder before archiving, but I'm not sure at all how that's done or what the actual process is: does it split each resource into its own file or does it keep them all in files based on each resource type, or does it dump them all to a single resource file, and either way, how does it do it?"

The solution: "ZIP-JOINER!"

it runs on most "classic" Macintoshes, from 68k (system 7.x) to OS 9
and merges all "._xxxx"-files from an OSX-zip with their data parts.
And it is free!

To extract ordinary zip files on a classic mac, you can use the free utility
"Stuffit Expander 7.03".

It was made by Aladdin Systems Inc., that later changed its name to Allume Systems and was then absorbed by Smith Micro Software... anyway, you can download Stuffit Expander 7.03 here.