The SGF format is wildly successful. It is virtually the unique format in the West, and one of the major formats in the East. However, there is no precise definition of the format. In particular, FF[4] is not precise and where it is precise it is too strict to follow.
One troublesome area is that of character sets and escaping. When and where should one use escapes in a text field? (My answer: escape \ and ] with \, never escape constituent bytes of a multibyte character, escaping : is never needed.) For software it would be much easier to always escape at the byte level, instead of the character level, but files with byte-level escapes are no longer text files, and are invariably corrupted when handled as text files. FF[4] has default character set Latin-1, while the great majority of non-ASCII SGF files today are in some multibyte character set. The default should now be UTF-8. FF[4] has a list of property labels and a description of the allowed values and their meaning. Current usage needs a greater variety of property labels and values. I looked at the present state of affairs, collected a large number of SGF files from many different sources, and described their grammar and use of property labels. The result is found at http://www.cwi.nl/~aeb/go/misc/sgf.html . In a few cases I do not know the meaning of some labels - information is welcome. The purpose of this exercise is to come, not to a new standard like FF[5], but to a present-day version of FF[4]. In several cases I described on the one hand what one meets in the wild, and on the other hand a stricter set of values that one would hope people to standardize on. Comments are welcome. Andries On SGF: http://www.cwi.nl/~aeb/go/misc/sgf.html sgfutils: http://www.cwi.nl/~aeb/go/sgfutils/html 40000 pro games: http://www.cwi.nl/~aeb/go/games/games/index.html rank progression of Japanese pros: http://www.cwi.nl/~aeb/go/misc/progression.html _______________________________________________ Computer-go mailing list Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go