Keep those filename rules out of my filesystems, please. Some of my programs use such "bad" filenames systematically on purpose, and achieve strictly greater utility and efficiency than would be possible without them. For instance, one claim of section 5, "Yet you must be able to display filenames", is false. There are whole worlds where filenames are touched only by application-specific programs and the OS (and the backup+restore system.)
If you are truly concerned about portability, then work on the problem which arises because Microsoft Windows [FAT and NTFS] allows a filename consisting of a US customary calendar date, i.e. "03/25/09" as an eight-character filename.