Mac and Windows PC Files

File Systems

A file system organizes large numbers of files on some sort of data storage medium (most commonly a disk drive, CD-ROM or DVD). Mac and PC computers use different primary file systems which is why a program like TransMac is necessary.

The two common versions of Mac file systems (or volume formats) are standard HFS and Mac OS Extended (or HFS+). HFS came about early on in the life of the Macintosh line when disks had relatively small capacities. Limitations appeared in this format when disk drives grew very large in size. Mac OS Extended (or HFS+ as it was originally called) is similar to HFS but some of its internal structures were changed to accommodate the changing needs of modern personal computing. The major differences between the two are outlined below. HFS is best for small volumes or those that may be used on older systems (before OS8.1). Mac OS Extended is best for larger volumes as long as they will not be used on older systems. Mac OS 10.3 brought a new iteration of HFS+ called HFSX. HFSX is basically the same as HFS+, but it allows for new file system features to be specified. One such feature is case sensitive file/folder names. The file names "fname", "Fname" and "FNAME" would all refer to the same file in HFS/HFS+, but they would refer to different files in HFSX if the case sensitive feature was turned on.

Standard HFS:

  • Compatible with all Mac OS versions
  • File names limited to 31 characters
  • File sizes limited to 2GB
  • Large volumes with small files waste a lot of space.


Mac OS Extended (HFS+):

  • Compatible with Mac OS8.1 and later
  • 255 character Unicode file names
  • No file size limit
  • Less wasted space

Mac OS Extended (HFSX):

  • New in OS X 10.3
  • Purpose is to allow extended features that will not be compatible with HFS+
  • One major feature is to allow case sensitive file names

Windows uses two primary types of file systems FAT (File Allocation Table) and NTFS (New Technology File System). There are three variations of the FAT file system: FAT12, FAT16 and FAT32. FAT12 and FAT16 originated in the DOS days. They had the same sort of problems HFS had due to growing  disk sizes. FAT32 was created to alleviate some of these problems, but it still has limitations like a maximum file size of 4GB. NTFS was created for Windows NT. It does not have as many limitations as the FAT systems and also includes much needed security and reliability features. Recent versions of Windows (NT, 2000, XP, Vista, etc.) support both file system types, but older versions of Windows (95, 98, Me) do not natively support NTFS.

There are several differences in the way Macs and PCs deal with files. On a PC, a file appears as a single sequence of bytes which can store any type of information. On a Mac there can be two separate parts to a file called forks that are linked to one name. The data fork is the equivalent of a file on the PC. It can contain any type of data which may be used by an application. The resource fork contains Mac specific resources (menus, fonts, etc.). It is generally of no use on a PC. When files are copied from a Mac to a PC the resource fork is usually discarded. One situation where the resource fork would be used is when moving fonts between systems, but a conversion application (like our CrossFont) will still be needed to convert the font.


Disk Image Files

A Mac disk image is a file based representation of a file system. The Mac can mount them so they appear just like a disk drive. When a disk image file is opened on a Mac, a disk icon appears just as if a removable disk was inserted. There are several different types each with different options. Below are descriptions of the types TransMac supports:

  • dmg: Files with a "dmg" extension are commonly used to transfer data or software installation packages. They can be compressed (read only) to save space or uncompressed (read/write) to allow writing. See the article "DMG Files in Windows" for more information.
  • sparseimage: Files with a "sparseimage" extension leave out unused blocks of the volume to save space. They start out small but grow as data is added. Sparse image files are read/write. They have no internal compression, but shrink well using external compression like zip.

File Types

It is useful to be able to determine what type of data a file contains and what application should be used to open it. This is done by attaching an extension to the name of the file separated by a period. A text file would be indicated by a ".txt" extension as in "file.txt" or an acrobat file by ".pdf" as in "document.pdf". Each extension can be associated with a single application and assigned a unique icon. The appropriate application can then be invoked by clicking the files icon.

Both Mac and PC can use file extensions but the Mac has an alternate mechanism which is more useful. This consists of two four character fields called the type and creator. These fields are stored in the file system separate from the file name and not directly viewable by the user. The type field tells the Mac what type of data is in the file. This may be "TEXT" to designate a text file or "TIFF" for a tiff graphic image. A Mac application can use the type field to show only certain pertinent files in an Open dialog box or to determine how to handle the file. The creator field tells the Mac what application should be used to open the file. This field is used when a data file is double-clicked to open it. These fields are invisible to the user, but can be displayed and changed with special utilities.

TransMac has a facility to carry this information from one platform to the other. The TransMac file type map associates Mac file types (type/creator) with PC file types (file name extension) and vice versa. If the file type map option is selected when a file is copied, the map will be searched and automatically assign the appropriate file type. TransMac comes with many type map entries, but users can add more or change existing entries as new applications come out.

Note: Files can not be converted to different types just by changing the extension or Mac type/creator field. These desigations tell the system what type of data is in the file. Changing them will cause the system to launch an application that will not recognize the file.