From 471dee0cf3675e3763e27ea3dc92fc2df93c0e61 Mon Sep 17 00:00:00 2001 From: Kevin Day Date: Wed, 1 Jun 2022 23:37:10 -0500 Subject: [PATCH] Update: Specifications to reflect recent clarifications and corrections. --- fll/specifications.html | 10 ++++++++-- fll/specifications/fss/fss-0000.html | 2 +- fll/specifications/fss/fss-0001.html | 2 +- fll/specifications/fss/fss-0002.html | 8 ++++---- fll/specifications/fss/fss-0003.html | 10 +++++----- fll/specifications/fss/fss-0009.html | 2 +- fll/specifications/fss/fss-000a.html | 2 +- fll/specifications/fss/fss-000b.html | 2 +- 8 files changed, 22 insertions(+), 16 deletions(-) diff --git a/fll/specifications.html b/fll/specifications.html index 934faf3..a5b3c44 100644 --- a/fll/specifications.html +++ b/fll/specifications.html @@ -194,7 +194,7 @@

Objects and Contents can include any characters allowed by the specifications. The specification may choose how a given Object or Content are represented and parsed. - For example, in fss-0000 (Basic), Content is treated as a single item whereas in fss-0001 (Extended), Content is broken apart in multiple sub parts. + For example, in fss-0000 (Basic), Content is treated as a single item whereas in fss-0001 (Extended), Content is broken apart in multiple sub-parts.

Contents may be broken up into zero or more discrete sets of Content. @@ -211,9 +211,15 @@

Unless otherwise specified, all specifications are newline sensitive (\n only). Newline characters are only \n and are never anything else (\r is not considered newline in any manner). + These specifications refer to characters that have printable representation as printable. + These specifications refer to characters that have no printable representation as non-printable. + White spaces characters that are printable, such as tabs and spaces, must be considered the same type for the purposes of parsing. - Non-printing white spaces characters (zero-width characters) are ignored, are treated as placeholders for processing, or are considered part of the appropriate character if they are Unicode combining characters (this includes zero-width punctuation characters and similar). + Non-printing white spaces characters (zero-width characters) are ignored, are treated as placeholders for processing with the exception of combining characters. + White spaces that use combining characters result in printable characters and the resulting combination is treated as not white space. + Zero-width characters that use combining characters are treated as non-printing characters and are skipped. In terms of processing, it is recommended that the NULL character is not considered the end of a string, but this is only a suggestion. + Any specification may chose to limit, restrict, or otherwise prohibit special Unicode characters such as combining characters or zero-width characters.

Unless otherwise specified, newlines designate the potential start (or end) of an Object or Content. diff --git a/fll/specifications/fss/fss-0000.html b/fll/specifications/fss/fss-0000.html index 6f1260e..3551667 100644 --- a/fll/specifications/fss/fss-0000.html +++ b/fll/specifications/fss/fss-0000.html @@ -82,7 +82,7 @@ Each Object starts at the beginning of a line and white space to the left of the Object is not treated as part of the object. White space separates an Object from the Content. An Object may be preceded by a newline, in which case means that the Object has no Content. - If only printing white space follows a valid Object, that Object is considered to have no Content. + If only printing white spaces or non-printable characters follow a valid Object, then that Object is considered to have no Content.

Content exists on the same line as the Object. diff --git a/fll/specifications/fss/fss-0001.html b/fll/specifications/fss/fss-0001.html index c3dadd5..fccb4f1 100644 --- a/fll/specifications/fss/fss-0001.html +++ b/fll/specifications/fss/fss-0001.html @@ -82,7 +82,7 @@ Each Object starts at the beginning of a line and white space to the left of the Object is not treated as an object. White space separates an Object from the Content. An Object may be followed by a newline, in which case means that the Object has no Content. - If only printing white space follows a valid Object, that Object is considered to have no Content. + If only printing white spaces or non-printable characters follow a valid Object, then that Object is considered to have no Content.

Content exists on the same line as the Object. diff --git a/fll/specifications/fss/fss-0002.html b/fll/specifications/fss/fss-0002.html index 63fdc6d..edfc6e1 100644 --- a/fll/specifications/fss/fss-0002.html +++ b/fll/specifications/fss/fss-0002.html @@ -80,8 +80,8 @@

Each Object starts at the beginning of a line and white space to the left of the Object is not treated as an object. - A colon followed by any white space until a newline terminates a valid Object. - Non-white space may not follow the colon of a valid Object. + A colon : (U+003A) followed by any white space until a newline terminates a valid Object. + Non-white space printable characters may not follow the colon of a valid Object.

Content is represented as a single Content column of every line following a valid object until the end of file (or string) or until the next valid Object is found. @@ -99,8 +99,8 @@