From d37571c8c597fdac647a75e84650dcf459a30067 Mon Sep 17 00:00:00 2001 From: codello Date: Fri, 3 May 2024 13:59:37 +0200 Subject: [PATCH] Add whitespace definition --- spec.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/spec.md b/spec.md index 2a3e27f..53c720c 100644 --- a/spec.md +++ b/spec.md @@ -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 @@ -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 = ``` -> [!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.