Talk:ISO 9660

message: Is that something that should be included?  I'm thinking of the 8+3 file name restriction that far too many people say is a restriction in ISO 9660, when it's either a restriction selected by a CD-ROM publisher, or a failure of an implementation to implement the standard correctly.  I think 2.1 makes that clear: 'Level of Interchange' is something that applies to a CD-ROM, not to a subset of the standard. — Preceding unsigned comment added by Athulin (talk • contribs) 10:16, 1 January 2016 (UTC)
thread_title:   Misunderstanding of the Standard? 

message: As of this edit,  said:
That edit added the "with the ISO-8859 or UTF-16 character set" part, along with the reference.  (I cleaned it up a bit to say "with ISO/IEC 8859 or UTF-16 character sets".)
The reference says:
It also says that "Rock Ridge became a IEEE standard around 1992.", although I have been unable to find it from standards.ieee.org.  The IEEE P1282 draft version 1.12 claims that it was "Adopted 1994-07-08", but I couldn't find any 1282 standard with a search for 1282 on standards.ieee.org.
So if we use the 1.12 draft, it says:
:3.4 File Naming Conventions
:In all fields defined in ISO 9660, the character set to be used shall be as specified in ISO 9660. The character set to be used in the System Use Entries defined herein shall depend upon whether the entries are recorded in a Directory Hierarchy (defined in ISO 9660:6.8.2) associated with a Primary Volume Descriptor or in one associated with a Supplementary Volume Descriptor.
:
:3.4.1 Primary Volume Descriptor File Naming Convention
:Within a Directory Hierarchy identified by a Primary Volume Descriptor of an ISO 9660 volume, "SL" Component Content (see 4.1.3.1) and "NM" Name Content (see 4.1.4) shall be as defined in POSIX:2.2.2.32 and shall use the portable filename character set as defined in POSIX:2.2.2.60.
:
:3.4.2 Supplementary Volume Descriptor File Naming Convention
:Within a Directory Hierarchy identified by a Supplementary Volume Descriptor of an ISO 9660 volume, the character set used in the System Use Entries defined for the RRIP shall be the coded graphic character sets identified by the escape sequences in the Supplementary Volume Descriptor (see ISO 9660:7.4.2).
It appears that, if you're not lucky enough to own a printed version of IEEE Std 1003.1-1988, you're out of luck - my copy is either no longer in my possession or stashed away in a box in a storage unit, and all the searches I did online for 1003.1-1988 found the interpretations document, which is completely useless if I want to see what "POSIX:2.2.2.32" and "POSIX:2.2.2.60" are, so I'll just go with the current Single UNIX Specification.
The Portable Filename Character Set is A-Z. a-z, 0-9, ., _, and -.  That's it - no ISO 8859/anything, no UTF-16, not UTF-8, nothing.  So I'm not even seeing all of printable ASCII there, much less any non-ASCII characters from an ISO 8859 character set or from Unicode (whether encoded with UTF-16 or with UTF-8), for a Directory Hierarchy identified by a Primary Volume Descriptor of an ISO 9660 volume.
As for a Directory Hierarchy identified by a Supplementary Volume Descriptor of an ISO 9660 volume, section 7.4.2 of ISO 9660 says "The characters of the coded graphic character sets identified by the escape sequences in a Supplementary Volume Descriptor are referred to as c-characters."  Section 8.5 "Supplementary Volume Descriptor" contains subsection 8.5.6 "Escape Sequences (BP 89 to 120)", which says:
:This field shall specify one or more escape sequences according to ISO 2022 that designate the G0 graphic character set and, optionally, the G1 graphic character set to be used in an 8-bit environment according to ISO 2022 to interpret descriptor fields related to the Directory Hierarchy identified by this Volume Descriptor (see 7.4.4). If the G1 set is designated, it is implicitly invoked into columns 10 to 15 of the code table.
:
:These escape sequences shall conform to ISO 2022, except that the ESCAPE character shall be omitted from each designating escape sequence when recorded in this field. The first or only escape sequence shall begin at the first byte of the field. Each successive escape sequence shall begin at the byte in the field immediately following the last byte of the preceding escape sequence. Any unused byte positions following the last sequence shall be set to (00).
:
:If all the bytes of this field are set to (OO), it shall mean that the set of a l-characters is identical with the set of a-characters and that the set of dl-characters is identical with the set of d-characters. In this case both sets are coded according to ISO 646.
which would seem to indicate that *any* encoding supported by ISO/IEC 2022 can be used.  There are several of them, including several "Right-hand Part of ... 8859/n" for various values of n - presumably those mean that the G1 set is the aforementioned 'Right-hand Part" with the G0 set being printable ASCII - in addition to "UTF-8 Level {1,2,3}" and "UTF-16 Level {1,2,3}".
So it sounds as if Rock Ridge could use any of that large set of encodings, including the Third supplementary set of Mosaic Characters/ Videotex and Facsimile; if the intent in the reference was to say that it can support the 8859/n encodings (and UTF-8?) in addition to UTF-16, that's true, but incomplete. Guy Harris (talk) 08:28, 7 April 2022 (UTC)
replies: text: I guess you know better 😊 Seeaver (talk) 20:34, 8 April 2022 (UTC)

text: The reference to ISO-IR.pdf must be taken carefully.  It is not restricted to escape character sequences that can be used in ISO 9660, but also includes other sequences.  ISO 9660 is restricted to those that can be used by ISO 2022, and this excludes those mentioned in ISO-IR 2.8 and subsections ... which is where various UTF-? and UCS-? code tables are mentioned.  ISO 9660 (as currently specified) does not allow Unicode.  (Quick check in ISO/IEC DIS 9660:2022 -- which makes looking for ISO 2022-related stuff a real pain -- does not show any changes on this ... basically 9.5.7 and 10.5.19.) Athulin (talk) 09:52, 15 July 2022 (UTC)
thread_title:  File name character encoding in Rock Ridge?