Filenames


RE: Filenames
#4
(2024-01-08, 21:32)Orion Pobursky Wrote: Filenames are kind of the wild west as they are determined by the user and could be anything including emoji and crazy unicode characters (like: ෴). The only restriction being what the user's OS allows. This is why the filename spec is fuzzy because it's not really controllable by the developer..

We further restrict this in the official library to "a-z", "0-9", "_", and "-". Nothing official will contain anything other than those character and that is enforced by the library software.

In short, if you are writing a parser you are free to impose (or not impose) whatever filename restrictions you wish just be aware that there will always be a user that breaks your rules.

Thanks for that clarification, that's good to know.

To answer my own questions:
1. (For texmap filenames) Are these sentences referring to quoted filenames specifically, or all filenames?
Quoted filenames specifically. Non-quoted texmap filenames are always treated literally, terminating in the end of the line or whitespace ( tab(9) or space(32) ).

2. (For quoted filenames) should the backslash "escape character" work with characters other than " and a second backslash or just those two?
Let's say yes it should work with other characters, (as this often is how escape characters work in other contexts)

3. The main spec page is even fuzzier about filenames - no mention of spaces or quoting. Is it allowed, disallowed, discouraged?
Filenames in this context (i.e. not texture map filenames) are interpreted literally, so quotes and spaces have no special meaning - they are regular characters in the filename, and there is no escape character. Basically everything up to the end of the line is a filename, but with whitespace trimmed at each end.

4. The use of the phrase 'such as' lacks clarity: which characters should be discouraged and which are fine?
All UTF-8 characters are allowed. However, filing systems in different operating systems have their own restrictions on the characters allowed in filenames, and other characters create problems for URLs. So for compatibility reasons these should be avoided. In particular the characters below can cause problems:
< (less than)
> (greater than)
: (colon)
" (double quote)
/ (forward slash)
\ (backslash)
? (question mark)
* (asterisk)
& (ampersand)
# (hash)
| (vertical bar or pipe)

Let me know if you disagree with any of these answers, and thanks for your help.
Reply
« Next Oldest | Next Newest »



Messages In This Thread
Filenames - by Toby Nelson - 2024-01-08, 21:02
RE: Filenames - by Orion Pobursky - 2024-01-08, 21:32
RE: Filenames - by Roland Melkert - 2024-01-08, 21:56
RE: Filenames - by Toby Nelson - 2024-01-09, 10:11
RE: Filenames - by Travis Cobbs - 2024-01-09, 17:06
RE: Filenames - by Toby Nelson - 2024-01-10, 10:58
RE: Filenames - by Toby Nelson - 2024-01-10, 11:23
RE: Filenames - by Travis Cobbs - 2024-01-12, 1:40
RE: Filenames - by Toby Nelson - 2024-01-12, 15:01
RE: Filenames - by Orion Pobursky - 2024-01-12, 16:51
RE: Filenames - by Travis Cobbs - 2024-01-10, 18:01
RE: Filenames - by Roland Melkert - 2024-01-10, 23:03
RE: Filenames - by Toby Nelson - 2024-01-11, 12:19
RE: Filenames - by Roland Melkert - 2024-01-11, 22:38
RE: Filenames - by Toby Nelson - 2024-01-14, 8:41

Forum Jump:


Users browsing this thread: 2 Guest(s)