SGF棋譜データ
 SGFはSmart Game Formatの略でコンピュータ用の棋譜データに最も多く用いられている書式です。
 SGFにはFF[1]〜FF[5]までのバージョンがあり、インターネット囲碁サイトではFF[4]が広く使われています。

**abcdefghijklm**
a┌┬┬┬┬┬┬┬┬┬┬┬┐a
b├┼┼┼┼┼┼┼┼┼┼┼┤b
c├┼┼○┼┼┼┼┼┼┼┼┤c
d├┼┼・┼┼┼┼┼・●┼┤d
e├┼┼┼┼┼┼┼┼┼┼┼┤e
f├┼┼┼┼┼┼┼┼┼┼┼┤f
g├┼┼┼┼┼┼┼┼┼┼┼┤g
h├┼┼┼┼┼┼┼┼┼┼┼┤h
i├┼┼┼┼┼┼┼┼┼┼┼┤i
j├┼┼・┼┼┼┼┼・┼┼┤j
k├┼┼┼┼┼┼┼┼┼┼┼┤k
l├┼┼┼┼┼┼┼┼┼┼┼┤l
m└┴┴┴┴┴┴┴┴┴┴┴┘m
**abcdefghijklm**
 SGFでは碁盤の座標は左上角をaaにした小文字アルファベットで記録します。
黒石の位置 ⇒ B[kd]
白石の位置 ⇒ W[cd]
 パスはttと記入します。
黒パス ⇒ B[tt]
白パス ⇒ W[tt]

 SGFは、囲碁の棋譜データは下記書式で記録します。
	(;GM[1]
	対局情報;
	着手情報;
	  :
	  :
	  :
	着手情報;
	)
 先頭の (; は、データの記録開始宣言です。
 (;に続いて記録されているGM[1]は、データが囲碁の棋譜であることを宣言する記号です。
 対局情報は、対局者名などを所定の記号(プロパティ)の後ろに[]で囲い列挙します。
 着手情報は、着手位置プロパティ(黒番の場合はB[]白番の場合はW[])を記してからその着手に関する各種プロパティを記します。
 対局情報と着手、着手と着手の区切りは半角 ; で記し、; で区切られた範囲をノードといいます。
 変化手順は()で囲って着手情報を列記します。
 変化手順の記録は入れ子にすることができます。

 SGFは、テキストデータですから棋譜ソフトがない場合でも、面倒さえ厭わなければワープロやテキストエディタなどテキストファイルを読めるソフトでSGFファイルを開いて次の手順で棋譜を並べることができます。

  1. 最初の半角 ( までは無視する。
  2. 半角 ) が出現したら階層を1ランク下げる。(0階層なら終了)
  3. 半角 ( が出現したら階層を1ランク上げる。
  4. 半角 ; を見つけたらプロパティの確認を行う。
  5. プロパティが確認できから半角 [ までは無視する。
  6. 半角[ が出現したら半角] が出現するまでプロパティの引数として取り込む。
    ただし半角 \ の次の文字は無条件で取り込む
    に該当するまで繰り返す。 <
  7. を繰り返す。
 SGFのプロパティには下記のようなものがあります。
対局情報プロパティ
  • AN[評者名]
  • AP[アプリケーション名]
  • BH[黒のアゲハマに追加するハマ数](石葉2用)
  • BR[黒の対局者の棋力]
  • BT[黒のチーム名]
  • CA[文字コード]
  • CP[著作権者名]
  • DT[yyyy-mm-dd] (対局日yyyy年mm月dd日)
  • EV[大会名]
  • GC[対局に対するコメント]
  • GN[対局名]
  • HA[置石数] (互先の場合は0)
  • KM[コミ数] (逆コミの場合は負号を付ける)
  • KO[コミ数] (逆コミの場合は負号を付ける)(日本棋院独自仕様)
  • NE[W] (初手が白)(石葉2用)
  • PB[黒番対局者名]
  • PC[対局場所名]
  • PW[白番対局者名]
  • RD[yyyy/mm/dd](日本棋院独自仕様)
  • RE[対局結果]
    • 持碁 ⇒ 0
    • 黒n目勝ち ⇒ B+n、白x目勝ち ⇒ W+n
    • 黒中押勝 ⇒ B+R、白中押勝 ⇒ W+R
    • 黒時間切れ負け ⇒ W+T、白時間切れ負け ⇒ B+T
  • RO[n] (トーナメントや番碁の第n回戦)
  • RU[ルール名]
  • SO[引用元名](石葉2では棋譜名)
  • SZ[碁盤サイズ]
  • TE[大会名](日本棋院独自仕様)
  • TM[持ち時間] (単位:秒)
  • US[記録者名]
  • WH[白のアゲハマに追加するハマ数](石葉2用)
  • WR[白の対局者の棋力]
  • WT[白のチーム名]
  • 着手情報プロパティ
  • AB[xy] (座標xyに黒配石)
  • AE[xy] (座標xyの石除去)
  • AW[xy] (座標xyに白配石)
  • B[xy] (座標xyに黒着手)
  • BL[t] (黒の残り時間t秒)
  • C[コメント]
  • CR[xy] (座標xyに○マーク)
  • HL[リンク先]リンク先の着手IDまたはアドレス(石葉2用)
  • LB[xy,m] (座標xyに文字mをマーク)
  • LO[xy] (座標xyに◇マーク)
  • MA[xy] (座標xyに×マーク)
  • MK[xy,m] (座標xyに文字mをマーク)(石葉2用)
  • PL[W] (初手が白)
  • RT[xy] (座標xyに▽マーク)
  • SL[xy] (座標xyに■マーク)
  • SQ[xy] (座標xyに□マーク)
  • ST[xy] (座標xyに☆マーク)
  • TB[xy] (座標xyの黒石をアゲハマ)
  • TL[t,l] (着手消費時間t秒、ネットロスl秒)
  • TR[xy] (座標xyに△マーク)
  • TW[xy] (座標xyの白石をアゲハマ)
  • W[xy] (座標xyに白着手)
  • WL[t] (白の残り時間t秒)