HFS MACINTOSH FILENAMES Where possible, the HFS filename that is stored with an Apple/Unix file is used for the HFS part of the CD. However, not all the Apple/Unix encodings store the HFS filename with the finder info. In these cases, the Unix filename is used with escaped special characters. Special characters include "/" and characters with codes over 127.Aufs escapes these characters by using ":" followed by the character code as two hex digits. Netatalk and EtherShare have a similar scheme but use "%" instead of a ":". If mkisofs can't find an HFS filename, then it uses the Unix name, with any %xx or :xx characters (xx == two hex digits) converted to a single character code. If "xx" are not hex digits ([0-9a-fA-F]), then they are left alone, although any remaining ":" is converted to "%", as colon is the HFS directory separator. Care must be taken, as an ordinary Unix file with %xx or :xx will also be converted. For example:This:2fFile converted to This/FileThis:File converted to This%FileThis:t7File converted to This%t7FileAlthough HFS filenames appear to support upper- and lowercase letters, the file system is case-insensitive, i.e., the filenames "aBc" and "AbC" are the same. If a file is found in a directory with the same HFS name, then mkisofs will attempt, where possible, to make a unique name by adding '_' characters to one of the filenames.If an HFS filename exists for a file, then mkisofs can use this name as the starting point for the ISO9660, Joliet, and Rock Ridge filenames using the -mac-name option. Normal Unix files without an HFS name will still use their Unix name.For example, if a MacBinary (or PC Exchange) file is stored as someimage.gif.bin on the Unix file system but contains an HFS file called someimage.gif, then this is the name that would appear on the HFS part of the CD. However, as mkisofs uses the Unix name as the starting point for the other names, then the ISO9660 name generated will probably be SOMEIMAG. BIN,, and the Joliet/Rock Ridge would be someimage.gif.bin, although the actual data (in this case) is a GIF image. This option will use the HFS filename as the starting point, and the ISO9660 name will probably be SOMEIMAG.GIF, and the Joliet/Rock Ridge would be someimage.gif.Using the -mac-name option will not currently work with the -T option - the Unix name will be used in the TRANS.TBL file, not the Macintosh name.The existing mkisofs code will filter out any illegal characters for the ISO9660 and Joliet filenames, but as mkisofs expects to be dealing directly with Unix names, it leaves the Rock Ridge names as is. But as "/" is a legal HFS filename character, the -mac-name option converts "/" to a "_" in Rock Ridge filenames.If the Apple extensions are used, then only the ISO9660 filenames will appear on the Macintosh. However, as the Macintosh ISO9660 drivers can use Level 2 filenames, then you can use options like -allow-multidot without problems on a Macintosh. Still take care over the names, though; for example, this.file.name will be converted to THIS.FILE, i.e., only having one ".". Also, the filename abcdefgh will be seen as ABCDEFGH, but abcdefghi will be seen as ABCDEFGHI (i.e., with a "." at the end). I don't know if this is a Macintosh problem or mkisofs/mkhybrid problem. All filenames will be in uppercase when viewed on a Macintosh. Of course, DOS/Win3.X machines will not be able to see Level 2 filenames. |