Every property occupies one line of the input stream. Each line is terminated by a line terminator (\n or \r or \r\n). Lines are processed until end of file is reached.
A line that contains only whitespace or whose first non-whitespace character is an ASCII # or ! is ignored (thus, # or ! indicate comment lines).
Every line other than a blank line or a comment line describes one property to be added to the table (except that if a line ends with \, then the following line, if it exists, is treated as a continuation line, as described below). The property name consists of all the characters in the line starting with the first non-whitespace character and up to, but not including, the first ASCII =, :, or whitespace character. All of the property name termination characters may be included in the property name by preceding them with a \. Any whitespace after the property name is skipped; if the first non-whitespace character after the property name is = or :, then it is ignored and any whitespace characters after it are also skipped. All remaining characters on the line become part of the associated property value string. Within the property value string, the ASCII escape sequences \t, \n, \r, \\, \", \', \ (a backslash and a space), and \uxxxx are recognized and converted to single characters. Moreover, if the last character on the line is \, then the next line is treated as a continuation of the current line; the \ and line terminator are simply discarded, and any leading whitespace characters on the continuation line are also discarded and are not part of the property value string.
As an example, each of the following four lines specifies the property name "Truth" and the associated property value "Beauty":
Truth = Beauty Truth:Beauty Truth :BeautyAs another example, the following three lines specify a single property:
fruits apple, banana, pear, \
cantaloupe, watermelon, \
kiwi, mango
The property name is "fruits" and the associated property value is:
"apple, banana, pear, cantaloupe, watermelon,kiwi, mango"Note that a space appears before each \ so that a space will appear after each comma in the final result; the \, line terminator, and leading whitespace on the continuation line are merely discarded and are not replaced by one or more other characters.
As a third example, the line:
cheesesspecifies that the property name is "cheeses" and the associated property value is the empty string.