The Linux vfat driver seems to disallow certain characters in vfat long file names: ?<>\:*|". I understand that Windows doesn't support these characters, but Wikipedia seems to indicate that the filesystem, itself, supports any non-null 16-bit unicode character. If that is this the case, why does the Linux driver restrict the usable characters? Is it simply for compatibility, or is there actually a technical limitation that's not mentioned on the Wikipedia page? If the former, is there anyway to override this limitation?
NTFS-3g supports writing these characters to NTFS, which is very nice when I'm moving files between Linux systems with my external hard drive. It'd be great if I could do the same with VFAT.