Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Whitespace Handling #53

Merged
merged 1 commit into from
May 3, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 3 additions & 9 deletions spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,6 @@ CR = %x0D ; carriage return
LF = %x0A ; line feed
CRLF = CR LF
DIGIT = %x30-39 ; 0-9
HTAB = %x09 ; horizontal tab
SP = %x20 ; space
```

### 1.2. Terminology
Expand Down Expand Up @@ -111,17 +109,13 @@ Empty lines are ignored throughout the entire file.
> Whether a line that consists only of whitespace is recognized as an empty line has not been decided yet.

Whitespace is used as a separator in many places of the format.
Only space (`%x20`) and horizontal tab (`%x09`) are recognized as whitespace characters.
In particular other unicode characters with the property `White_Space=yes` MUST NOT be treated as whitespace characters in the context of this specification.
Any unicode character with the property `White_Space=yes` is a valid whitespace character (except for the carriage return `%x0D` and line feed `%x0A` both of which are considered line breaks). See [Wikipedia](https://en.wikipedia.org/wiki/Whitespace_character) for a list of whitespace characters.
In the interests of interoperability implementations SHOULD use ASCII spaces (`%x20`) as whitespace.

```abnf
WSP = ( SP / HTAB )
WSP = <any unicode character with White_Space=yes>
```

> [!CAUTION]
>
> Definition and handling of whitespace characters is currently open for discussion ([#46](https://github.com/UltraStar-Deluxe/format/issues/46)).

## 2. The File Header

The header of a song consists of a sequence of key-value pairs.
Expand Down