11.10.2020 Standard: Portable Game Notation Specification and Implementation Guide Standard: Portable Game Notation Specification and Implementation Guide Authors: Interested readers of the Internet newsgroup rec.games.chess Coordinator: Steven J. Edwards (send comments to
[email protected]) Table of Contents Colophon 0: Preface 1: Introduction 2: Chess data representation 2.1: Data interchange incompatibility 2.2: Specification goals 2.3: A sample PGN game 3: Formats: import and export 3.1: Import format allows for manually prepared data 3.2: Export format used for program generated output 3.2.1: Byte equivalence 3.2.2: Archival storage and the newline character 3.2.3: Speed of processing 3.2.4: Reduced export format 4: Lexicographical issues 4.1: Character codes 4.2: Tab characters 4.3: Line lengths 5: Commentary 6: Escape mechanism 7: Tokens 8: Parsing games 8.1: Tag pair section 8.1.1: Seven Tag Roster 8.2: Movetext section 8.2.1: Movetext line justification 8.2.2: Movetext move number indications 8.2.3: Movetext SAN (Standard Algebraic Notation) 8.2.4: Movetext NAG (Numeric Annotation Glyph) 8.2.5: Movetext RAV (Recursive Annotation Variation) 8.2.6: Game Termination Markers 9: Supplemental tag names 9.1: Player related information www.saremba.de/chessgml/standards/pgn/pgn-complete.htm 1/56 11.10.2020 Standard: Portable Game Notation Specification and Implementation Guide 9.1.1: Tags: WhiteTitle, BlackTitle 9.1.2: Tags: WhiteElo, BlackElo 9.1.3: Tags: WhiteUSCF, BlackUSCF 9.1.4: Tags: WhiteNA, BlackNA 9.1.5: Tags: WhiteType, BlackType