summaryrefslogtreecommitdiff
path: root/fonts/chess/bdfchess
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/chess/bdfchess
Initial commit
Diffstat (limited to 'fonts/chess/bdfchess')
-rw-r--r--fonts/chess/bdfchess/bdfchess.sty811
-rw-r--r--fonts/chess/bdfchess/bdfengl.dvibin0 -> 38968 bytes
-rw-r--r--fonts/chess/bdfchess/bdfengl.tex530
-rw-r--r--fonts/chess/bdfchess/bdfgerm.dvibin0 -> 42408 bytes
-rw-r--r--fonts/chess/bdfchess/bdfgerm.tex527
-rw-r--r--fonts/chess/bdfchess/chess10f.300bin0 -> 932 bytes
-rw-r--r--fonts/chess/bdfchess/chess10f.mf67
-rw-r--r--fonts/chess/bdfchess/chess10f.tfmbin0 -> 308 bytes
-rw-r--r--fonts/chess/bdfchess/chess12.err29
-rw-r--r--fonts/chess/bdfchess/chess15.300bin0 -> 8512 bytes
-rw-r--r--fonts/chess/bdfchess/chess15.mf21
-rw-r--r--fonts/chess/bdfchess/chess15.tfmbin0 -> 328 bytes
-rw-r--r--fonts/chess/bdfchess/chesskey.sty1122
-rw-r--r--fonts/chess/bdfchess/index1.ist13
-rw-r--r--fonts/chess/bdfchess/index2.ist11
-rw-r--r--fonts/chess/bdfchess/index3.ist13
-rw-r--r--fonts/chess/bdfchess/keydoc.dvibin0 -> 32784 bytes
-rw-r--r--fonts/chess/bdfchess/keydoc.idx17
-rw-r--r--fonts/chess/bdfchess/keydoc.tex489
-rw-r--r--fonts/chess/bdfchess/komoed.dvibin0 -> 41228 bytes
-rw-r--r--fonts/chess/bdfchess/komoed.tex296
-rw-r--r--fonts/chess/bdfchess/readme.bdf31
-rw-r--r--fonts/chess/bdfchess/testkey.dvibin0 -> 50464 bytes
-rw-r--r--fonts/chess/bdfchess/testkey.tex94
24 files changed, 4071 insertions, 0 deletions
diff --git a/fonts/chess/bdfchess/bdfchess.sty b/fonts/chess/bdfchess/bdfchess.sty
new file mode 100644
index 0000000000..11d109f2bb
--- /dev/null
+++ b/fonts/chess/bdfchess/bdfchess.sty
@@ -0,0 +1,811 @@
+% This is BdFCHESS.STY Version 1.2
+% New additions to Piet Tutelaers CHESS.STY 1.2
+% for correspondence chess players
+%
+% Documentation see BDFGERM.TEX or BDFENGL.TEX
+%
+% Author Frank Hassel
+% February 1993
+%
+% These macros are free software in the spirit of TeX.
+% Anyone, who demands payment for the distribution of this
+% material, must make clear that the charge is for distribution
+% and is no sense a licence fee or purchase fee for BDFCHESS.STY.
+% Each user uses these macros entirely at his own risk.
+%
+%
+% To include other postcardlanguages search for xxxx
+%
+%
+%------- Usefull definitions not only for postalchess ---------
+%
+%
+%
+%
+%------- \showinversboard -------------------------------------
+\newcount\@t
+\newcount\@w
+\def\@showinversrow#1{
+ \@r=#1
+ \@c=8
+ \@sum=\@r
+ \advance\@sum by\@c
+ \loop
+ \@showchar
+ \ifnum\@c>1 \advance\@c by-1\advance\@sum by-1
+ \repeat
+}
+
+\def\showinversboard{
+\@t=1
+\vbox{\offinterlineskip
+ \hrule height1pt
+ \hbox{\vrule width1pt\Chess
+ \vbox{\loop
+ \hbox{\@showinversrow\@t}
+ \ifnum\@t<8 \advance\@t by1
+ \repeat}%
+ \vrule width1pt}
+ \hrule height1pt}}
+%---- \showboardwithnotation and \showinversboardwithnotation --
+%----- for boardsizes 10,15,20 and 30 pt------------------------
+\newlength{\boardbreite}
+\newlength{\rhoehe}
+\newlength{\feldbreite}
+%
+\def\selectnotationsize{
+\settowidth{\boardbreite}{\vrule width 2pt \Chess\@showrow8}
+\feldbreite=\boardbreite
+\advance\feldbreite by -2pt
+\divide\feldbreite8
+\rhoehe=\boardbreite
+\divide\rhoehe24
+%
+\ifdim\boardbreite>240pt\font\no=cmr12\else
+\ifdim\boardbreite>160pt\font\no=cmr10\else
+\ifdim\boardbreite>120pt\font\no=cmr8\else
+\ifdim\boardbreite>80pt\font\no=cmr6\fi\fi\fi\fi}
+%
+\def\showboardwithnotation{\selectnotationsize
+\@t=8
+\vbox{\offinterlineskip
+ \hrule height1pt width\boardbreite
+ \Chess
+\loop
+ \hbox{\vrule width1pt\@showrow\@t\vrule width1pt
+ \raisebox{\rhoehe}{\no\ \the\@t}}
+ \ifnum\@t>1 \advance\@t by-1
+\repeat
+ \hrule height1pt width\boardbreite\smallskip
+\hbox{
+\hbox to \feldbreite{\hfil\no a\hfil}
+\hbox to \feldbreite{\hfil\no b\hfil}
+\hbox to \feldbreite{\hfil\no c\hfil}
+\hbox to \feldbreite{\hfil\no d\hfil}
+\hbox to \feldbreite{\hfil\no e\hfil}
+\hbox to \feldbreite{\hfil\no f\hfil}
+\hbox to \feldbreite{\hfil\no g\hfil}
+\hbox to \feldbreite{\hfil\no h\hfil}
+}}}
+%
+\def\showinversboardwithnotation{\selectnotationsize
+\@t=1
+\vbox{\offinterlineskip
+ \hrule height1pt width\boardbreite
+ \Chess
+\loop
+ \hbox{\vrule width1pt\@showinversrow\@t\vrule width1pt
+ \raisebox{\rhoehe}{\no\ \the\@t}}
+ \ifnum\@t<8 \advance\@t by1
+\repeat
+ \hrule height1pt width\boardbreite\smallskip
+\hbox{
+\hbox to \feldbreite{\hfil\no h\hfil}
+\hbox to \feldbreite{\hfil\no g\hfil}
+\hbox to \feldbreite{\hfil\no f\hfil}
+\hbox to \feldbreite{\hfil\no e\hfil}
+\hbox to \feldbreite{\hfil\no d\hfil}
+\hbox to \feldbreite{\hfil\no c\hfil}
+\hbox to \feldbreite{\hfil\no b\hfil}
+\hbox to \feldbreite{\hfil\no a\hfil}
+}}}
+%------- \savegameone and \restoregameone ---------------------
+\def\@colA{\ifcase\@c\or i\or j\or k\or l\or m\or n\or o\or p\fi}
+%
+\newif\ifWhiteone
+\newif\ifcastlingone
+\newif\ifKnotmovedone
+\newif\ifknotmovedone
+\newif\ifpromotionone
+\newif\ifenpassantone
+\newcount\movecountone
+%
+\def\savegameone{
+\global\let\Whiteone=\White
+\global\let\castlingone=\castling
+\global\let\Knotmovedone=\Knotmoved
+\global\let\knotmovedone=\knotmoved
+\global\let\promotionone=\promotion
+\global\let\enpassantone=\enpassant
+\global\movecountone=\movecount
+
+ \@r=1
+ \loop
+ {\@c=1
+ \loop
+ \@get\piece[\@col\the\@r]
+ \@set[\@colA\the\@r](\piece)
+ \ifnum\@c<8 \advance\@c by1
+ \repeat}
+ \ifnum\@r<8 \advance\@r by 1
+ \repeat
+}
+%
+\def\restoregameone{
+\global\let\White=\Whiteone
+\global\let\castling=\castlingone
+\global\let\Knotmoved=\Knotmovedone
+\global\let\knotmoved=\knotmovedone
+\global\let\promotion=\promotionone
+\global\let\enpassant=\enpassantone
+\global\movecount=\movecountone
+ \@r=1
+ \loop
+ {\@c=1
+ \loop
+ \@get\piece[\@colA\the\@r]
+ \@set[\@col\the\@r](\piece)
+ \ifnum\@c<8 \advance\@c by1
+ \repeat}
+ \ifnum\@r<8 \advance\@r by 1
+ \repeat
+}
+%------- \savegametwo and \restoregametwo ---------------------
+\def\@colB{\ifcase\@c\or q\or r\or s\or t\or u\or v\or w\or x\fi}
+
+\newif\ifpostalWhitetwo
+\newif\ifcastlingtwo
+\newif\ifKnotmovedtwo
+\newif\ifknotmovedtwo
+\newif\ifpromotiontwo
+\newif\ifenpassanttwo
+\newcount\movecounttwo
+%
+\def\savegametwo{
+\global\let\Whitetwo=\White
+\global\let\castlingtwo=\castling
+\global\let\Knotmovedtwo=\Knotmoved
+\global\let\knotmovedtwo=\knotmoved
+\global\let\promotiontwo=\promotion
+\global\let\enpassanttwo=\enpassant
+\global\movecounttwo=\movecount
+ \@r=1
+ \loop
+ {\@c=1
+ \loop
+ \@get\piece[\@col\the\@r]
+ \@set[\@colB\the\@r](\piece)
+ \ifnum\@c<8 \advance\@c by1
+ \repeat}
+ \ifnum\@r<8 \advance\@r by 1
+ \repeat}
+%
+\def\restoregametwo{
+\global\let\White=\Whitetwo
+\global\let\castling=\castlingtwo
+\global\let\Knotmoved=\Knotmovedtwo
+\global\let\knotmoved=\knotmovedtwo
+\global\let\promotion=\promotiontwo
+\global\let\enpassant=\enpassanttwo
+\global\movecount=\movecounttwo
+ \@r=1
+ \loop
+ {\@c=1
+ \loop
+ \@get\piece[\@colB\the\@r]
+ \@set[\@col\the\@r](\piece)
+ \ifnum\@c<8 \advance\@c by1
+ \repeat}
+ \ifnum\@r<8 \advance\@r by 1
+ \repeat
+}
+%----------- \storeboard ------------------------------------
+\def\storeboard#1{
+\newwrite\bdf
+\immediate\openout\bdf=#1
+\immediate\write\bdf{\string\begin{position}}
+\immediate\write\bdf{\string\White(}
+\@r=1
+\loop
+\@c=1
+\@sum=\@r\advance \@sum by \@c
+\loop
+ \@get\piece[\@col\the\@r]
+\if\piece E
+\else
+%
+%
+\if\piece R \immediate\write\bdf{\uc@rook\@col\the\@r,}\fi
+\if\piece N \immediate\write\bdf{\uc@knight\@col\the\@r,}\fi
+\if\piece B \immediate\write\bdf{\uc@bishop\@col\the\@r,}\fi
+\if\piece Q \immediate\write\bdf{\uc@queen\@col\the\@r,}\fi
+\if\piece P \immediate\write\bdf{\@col\the\@r,}\fi
+\if\piece K \@t=\@c \@w=\@r \fi
+\fi
+ \ifnum\@c<8 \advance \@c by 1 \advance\@sum by 1
+ \repeat
+ \ifnum\@r<8 \advance \@r by 1
+\@c=1
+\repeat
+\@c=\@t
+\immediate\write\bdf{\uc@king\@col\the\@w )}
+%
+\immediate\write\bdf{\string\Black(}
+\@r=1
+\loop
+\@c=1
+\@sum=\@r\advance \@sum by \@c
+\loop
+ \@get\piece[\@col\the\@r]
+\if\piece E
+\else
+\if\piece k \@t=\@c \@w=\@r\fi
+%
+%
+\if\piece r \immediate\write\bdf{\uc@rook\@col\the\@r,}\fi
+\if\piece n \immediate\write\bdf{\uc@knight\@col\the\@r,}\fi
+\if\piece b \immediate\write\bdf{\uc@bishop\@col\the\@r,}\fi
+\if\piece q \immediate\write\bdf{\uc@queen\@col\the\@r,}\fi
+\if\piece p \immediate\write\bdf{\@col\the\@r,}\fi
+\fi
+ \ifnum\@c<8 \advance \@c by 1 \advance\@sum by 1
+ \repeat
+ \ifnum\@r<8 \advance \@r by 1
+\@c=1
+\repeat
+\@c=\@t
+\immediate\write\bdf{\uc@king\@col\the\@w )}
+%
+\immediate\write\bdf{\string\global\movecount=\the\movecount}
+\ifWhite
+\immediate\write\bdf{\string\global\string\Whitetrue}
+\else
+\immediate\write\bdf{\string\global\string\Whitefalse}
+\fi
+\immediate\write\bdf{\string\end{position}}
+\immediate\closeout\bdf
+}
+%
+%------- Here are the definitions for postal chessplayers -----
+%
+%-------- boxes for postcard in several languages -------------
+\global\font\Fig=chessf10
+\newbox\yourdatebox
+\newbox\mydatebox
+\newbox\moveonebox
+\newbox\movetwobox
+\newbox\acceptonebox
+\newbox\accepttwobox
+%
+\def\cardtabular[#1,#2,#3,#4]{
+\hbox{\hbox to 10mm{\hss #1\hss}
+ \hbox to 18mm{\hss #2\hss}
+ \hbox to 7mm{\hss #3\hss}
+ \hbox to 18mm{\hss #4\hss}}}
+%
+%%------------------- Definitions for english postcard ---------
+\chardef \pc@english=0
+\gdef\tabularheader{\vbox{
+ \hbox{\hbox to 30mm{\hss Date\hss}
+ \hbox to 70mm{\hss\ \hss}
+ \hbox to 30mm{\hss Date\hss}}
+\movetabular[Arrival,Leaving,$\sum$,{\large\bf White}, ,{\large
+\bf Black},Arrival,Leaving,$\sum$]
+\vskip 1pt\hrule}}
+%
+\def\cardenglish{%
+\gdef\postcardname{postcard}
+\gdef\salutations{Yours sincerly}
+\gdef\nameif{if }
+\def\yourdate[##1][##2][##3]{\global\setbox\yourdatebox=\vbox{
+\hbox{Your postmark date ##1}
+\hbox{Your time taken ##2 day(s)}
+\hbox{Your total time ##3 days}}}
+%
+\def\mydate[##1][##2][##3][##4]{\global\setbox\mydatebox=\vbox{
+\hbox{Received on ##1}
+\hbox{Replied on ##2}
+\hbox{My time taken ##3 day(s)}
+\hbox{My total time ##4 days}}}
+%
+\global\setbox\acceptonebox=\vbox{
+\hbox to 50mm{\hss Game 1\hss}\vskip 2mm
+\cardtabular[No.,Your move,No.,My move]
+\hrule\vskip 2pt}
+%
+\global\setbox\accepttwobox=\vbox{
+\hbox to 50mm{\hss Game 2\hss}\vskip 2mm
+\cardtabular[No.,Your move,No.,My move]
+\hrule\vskip 2pt}
+%
+}%
+%------------------- Definitions for german postcard ---------
+\chardef \pc@german=1
+\ifcurrentlanguage{germanb}{%
+\gdef\tabularheader{\vbox{
+ \hbox{\hbox to 30mm{\hss Datum\hss}
+ \hbox to 70mm{\hss\ \hss}
+ \hbox to 30mm{\hss Datum\hss}}
+\movetabular[Ankunft,Abgang,$\sum$,{\large\bf Wei\ss}, ,{\large
+\bf Schwarz},Ankunft,Abgang,$\sum$]
+\vskip 1pt\hrule}}}
+%
+\def\cardgerman{%
+\gdef\postcardname{Postkarte}
+\gdef\salutations{Freundliche Gr\"u\ss e}
+\gdef\nameif{falls }
+\def\yourdate[##1][##2][##3]{\global\setbox\yourdatebox=\vbox{
+\hbox{Ihr Poststempeldatum ##1}
+\hbox{Ihre Bedenkzeit ##2 Tag(e)}
+\hbox{Ihre Gesamtbedenkzeit ##3 Tage}}}
+%
+\def\mydate[##1][##2][##3][##4]{\global\setbox\mydatebox=\vbox{
+\hbox{Empfangen am ##1}
+\hbox{Beantwortet am ##2}
+\hbox{Meine Bedenkzeit ##3 Tag(e)}
+\hbox{Meine Gesamtbedenkzeit ##4 Tage}}}
+%
+\global\setbox\acceptonebox=\vbox{
+\hbox to 50mm{\hss Partie 1\hss}\vskip 2mm
+\cardtabular[Nr.,Ihr Zug,Nr.,Mein Zug]
+\hrule\vskip 2pt}
+%
+\global\setbox\accepttwobox=\vbox{
+\hbox to 50mm{\hss Partie 2\hss}\vskip 2mm
+\cardtabular[Nr.,Ihr Zug,Nr.,Mein Zug]
+\hrule\vskip 2pt}
+%
+}%
+%------------------- Definitions for french postcard ---------
+\chardef \pc@french=2
+\ifcurrentlanguage{french}{%
+\gdef\tabularheader{\vbox{
+ \hbox{\hbox to 30mm{\hss Date\hss}
+ \hbox to 70mm{\hss\ \hss}
+ \hbox to 30mm{\hss Date\hss}}
+\movetabular[Arriv\'ee,D\'epart,$\sum$,{\large\bf Blanc}, ,{\large
+\bf Noir},Arriv\'ee,D\'epart,$\sum$]
+\vskip 1pt\hrule}}}
+%
+\def\cardfrench{%
+\gdef\postcardname{carte postale}
+\gdef\salutations{Salutations}
+\gdef\nameif{que }
+\def\yourdate[##1][##2][##3]{\global\setbox\yourdatebox=\vbox{
+\hbox{Votre date de la poste ##1}
+\hbox{Votre temps ##2 jour(s)}
+\hbox{Votre temps total ##3 jours}}}
+%
+\def\mydate[##1][##2][##3][##4]{\global\setbox\mydatebox=\vbox{
+\hbox{Arriv\'ee ##1}
+\hbox{D\'epart ##2}
+\hbox{Mon temps ##3 jour(s)}
+\hbox{Mon temps total ##4 jours}}}
+%
+\global\setbox\acceptonebox=\vbox{
+\hbox to 50mm{\hss Partie 1\hss}\vskip 2mm
+\cardtabular[No.,Votre coup,No.,Mon coup]
+\hrule\vskip 2pt}
+%
+\global\setbox\accepttwobox=\vbox{
+\hbox to 50mm{\hss Partie 2\hss}\vskip 2mm
+\cardtabular[No.,Votre coup,No.,Mon coup]
+\hrule\vskip 2pt}
+%
+}
+%------------------- Definitions for xxxx postcard ---------
+\chardef \pc@xxxx=3
+\ifcurrentlanguage{xxxx}{%
+\gdef\tabularheader{\vbox{
+ \hbox{\hbox to 30mm{\hss xxxx\hss}
+ \hbox to 70mm{\hss\ \hss}
+ \hbox to 30mm{\hss xxxx\hss}}
+\movetabular[xxxx,xxxx,$\sum$,{\large\bf xxxx}, ,{\large \bf
+ xxxx},xxxx,xxxx,$\sum$]
+\vskip 1pt\hrule}}}
+%
+\def\cardxxxx{%
+\gdef\postcardname{xxxx}
+\gdef\salutations{xxxx}
+\gdef\nameif{xxxx }
+\def\yourdate[##1][##2][##3]{\global\setbox\yourdatebox=\vbox{
+\hbox{xxxx ##1}
+\hbox{xxxx ##2 xxxx}
+\hbox{xxxx ##3 xxxx}}}
+%
+\def\mydate[##1][##2][##3][##4]{\global\setbox\mydatebox=\vbox{
+\hbox{xxxx ##1}
+\hbox{xxxx ##2}
+\hbox{xxxx ##3 xxxx}
+\hbox{xxxx ##4 xxxx}}}
+%
+\global\setbox\acceptonebox=\vbox{
+\hbox to 50mm{\hss xxxx 1\hss}\vskip 2mm
+\cardtabular[xxxx,xxxx,xxxx,xxxx]
+\hrule\vskip 2pt}
+%
+\global\setbox\accepttwobox=\vbox{
+\hbox to 50mm{\hss xxxx 2\hss}\vskip 2mm
+\cardtabular[xxxx,xxxx,xxxx,xxxx]
+\hrule\vskip 2pt}
+}
+%--------------- Selection of language -------------------------
+\def\p@postcardlanguage#1{\expandafter\ifx\csname pc@#1\endcsname\relax
+\errhelp{Your command will be ignored, type <return> to proceed}%
+\errmessage{You haven't defined the language #1 yet}%
+ \else
+\csname card#1\endcsname
+ \fi}
+
+\def\postcardlanguage#1{\protect\p@postcardlanguage{%
+ \ifnum\escapechar=\expandafter`\string#1\empty
+ \else \string#1\empty\fi}}
+%----------------- Init ------------------------------
+\postcardlanguage{english}% Default language
+\ifcurrentlanguage{germanb}{\postcardlanguage{german}}
+\ifcurrentlanguage{french}{\postcardlanguage{french}}
+\ifcurrentlanguage{xxxx}{\postcardlanguage{xxxx}}
+\newgame
+\newif\iffinishgameone\finishgameonetrue
+\newif\iffinishgametwo\finishgametwotrue
+\savegameone
+\savegametwo
+%
+% different cardmoves
+%
+\def\acceptmoveone#1 #2 #3 #4 {
+\global\setbox\acceptonebox= \vbox{\unvbox\acceptonebox
+\vskip 2pt\cardtabular[#1,#2,#3,#4]}}
+%
+\def\acceptmovetwo#1 #2 #3 #4 {
+\global\setbox\accepttwobox= \vbox{\unvbox\accepttwobox
+\vskip 2pt\cardtabular[#1,#2,#3,#4]}}
+%
+\def\ifmoveone#1 #2 #3 #4 {
+\movetabular[\ ,\ ,#1,#2,#3,#4,\ ,\ ,\ ]
+\global\setbox\moveonebox= \vbox{\unvbox\moveonebox
+\vskip 1.5pt\cardtabular[\nameif #1,#2,#3,#4]}}
+%
+\def\ifmovetwo#1 #2 #3 #4 {
+\movetabular[\ ,\ ,#1,#2,#3,#4,\ ,\ ,\ ]
+\global\setbox\movetwobox= \vbox{\unvbox\movetwobox
+\vskip 1.5pt\cardtabular[\nameif #1,#2,#3,#4]}}
+%
+\def\moveone[#1][#2][#3][#4]{%
+\global\setbox\moveonebox=\vbox{\cardtabular[#1,#2,#3,#4 ]}}
+%
+\def\movetwo[#1][#2][#3][#4]{%
+\global\setbox\movetwobox=\vbox{\cardtabular[#1,#2,#3,#4 ]}}
+%
+%
+%---\postmove and \postply same as \move and \ply in CHESS.STY-
+%---but with calculation of consider- and departuretime -------
+%
+\def\movetabular[#1,#2,#3,#4,#5,#6,#7,#8,#9]{\par
+ \hbox{\strut\hskip 1mm
+ \hbox to 15mm{\hfill #1\hfill}
+ \hbox to 15mm{\hfill #2\hfill}
+ \hbox to 8mm{\hfill #3}
+ \hbox to 24mm{\hfill #4\hfill}
+ \hbox to 8mm{\hfill #5}
+ \hbox to 24mm{\hfill #6\hfill}
+ \hbox to 15mm{\hfill #7\hfill}
+ \hbox to 15mm{\hfill #8\hfill}
+ \hbox to 8mm{\hfill #9}}\par}
+%
+\newcount\considerwhite
+\newcount\considersumwhite
+\newcount\considerblack
+\newcount\considersumblack
+\newcount\movecountwhite
+\newcount\movecountblack
+
+\newbox\arrivalwhite
+\newbox\leavingwhite
+\newbox\arrivalblack
+\newbox\leavingblack
+
+\newbox\plywhite
+\newbox\plyblack
+
+\def\postmove #1 #2 #3 #4 #5 #6 {\frenchspacing
+\advance\movecount by 1
+%
+\considerwhite=#2
+\advance\considersumwhite by #2
+\@departure#1 #2 {}
+\setbox\arrivalwhite=\copy\arrival
+\setbox\leavingwhite=\copy\leaving
+\setbox\plywhite=\hbox{\@ply#3 }
+%
+\considerblack=#6
+\advance\considersumblack by #6
+\@departure#5 #6 {}
+\setbox\arrivalblack=\copy\arrival
+\setbox\leavingblack=\copy\leaving
+\setbox\plyblack=\hbox{\@ply#4 }
+%
+% Typesetting
+%
+\movetabular[\copy\arrivalwhite,\copy\leavingwhite,
+ \the\considersumwhite,\copy\plywhite,
+ \the\movecount.,\copy\plyblack,\copy\arrivalblack,
+ \copy\leavingblack,\the\considersumblack]
+%Holiday
+\global\advance\considerwhite by -\hw
+\global\advance\considerblack by -\hb
+\global\hw=0
+\global\hb=0
+%
+\message{\the\movecount }}
+%
+%
+\def\postply#1 #2 #3 {\frenchspacing
+ \ifWhite\advance\movecount by 1
+\considerwhite=#2
+ \advance\considersumwhite by #2
+ \else
+\considerblack=#2
+ \advance\considersumblack by #2
+ \fi
+\@departure#1 #2 {}
+\ifWhite
+\setbox\arrivalwhite=\copy\arrival
+\setbox\leavingwhite=\copy\leaving
+\setbox\plywhite=\hbox{\@ply#3 }
+\movetabular[\copy\arrivalwhite,\copy\leavingwhite,
+ \the\considersumwhite,\copy\plywhite,
+ \the\movecount.,\ ,\ ,\ ,\ ]
+\else
+\setbox\arrivalblack=\copy\arrival
+\setbox\leavingblack=\copy\leaving
+\setbox\plyblack=\hbox{\@ply#3 }
+\movetabular[\ ,\ ,\ ,...,\the\movecount.,
+\copy\plyblack,\copy\arrivalblack,
+\copy\leavingblack,\the\considersumblack]
+\fi
+%Holiday
+\global\advance\considerwhite by -\hw
+\global\advance\considerblack by -\hb
+\global\hw=0
+\global\hb=0
+%
+\message{(\the\movecount )}
+ \par}%
+%
+%------------- Game 1 --------------------------------
+%
+\newenvironment{gameone}{%
+\tabularheader
+ \newgame
+\considersumwhite=0
+\considersumblack=0
+\global\finishgameonefalse
+%
+\typeout{Game 1}
+\message{Move : }}{%
+\savegameone
+%
+\ifWhite
+%
+\moveone[\the\movecount][\copy\plywhite][\the\movecount][\copy\plyblack]
+\yourdate[\copy\leavingwhite][\the\considerwhite][\the\considersumwhite]
+\mydate[\copy\arrivalblack][\copy\leavingblack][\the\considerblack][\the\considersumblack]
+\else
+\movecountblack=\movecount
+\advance\movecountblack by -1
+% First ply for white ?
+\ifnum\movecountblack=0
+\moveone[\,][\copy\plyblack][\the\movecount][\copy\plywhite]
+\setbox\arrivalwhite=\hbox{} %delete arrival
+\else
+\moveone[\the\movecountblack][\copy\plyblack][\the\movecount][\copy\plywhite]
+\fi
+\mydate[\copy\arrivalwhite][\copy\leavingwhite][\the\considerwhite][\the\considersumwhite]
+\yourdate[\copy\leavingblack][\the\considerblack][\the\considersumblack]
+\fi}%
+
+\def\finishgameone{
+ \newgame
+\savegameone
+\global\finishgameonetrue}
+%------------------ Game 2 -------------------------------------
+%
+\newenvironment{gametwo}{%
+\tabularheader
+ \newgame
+\considersumwhite=0
+\considersumblack=0
+\global\finishgametwofalse
+%
+\typeout{Game 2}
+\message{Move : }}{% end of begin gametwo
+\savegametwo
+%
+\ifWhite
+\movetwo[\the\movecount][\copy\plywhite][\the\movecount][\copy\plyblack]
+\iffinishgameone
+\yourdate[\copy\leavingwhite][\the\considerwhite][\the\considersumwhite]
+\mydate[\copy\arrivalblack][\copy\leavingblack][\the\considerblack][\the\considersumblack]
+\fi
+\else
+\movecountblack=\movecount
+\advance\movecountblack by -1
+\ifnum\movecountblack=0
+\movetwo[\,][\copy\plyblack][\the\movecount][\copy\plywhite]
+\setbox\arrivalwhite=\hbox{} %delete arrival
+\else
+\movetwo[\the\movecountblack][\copy\plyblack][\the\movecount][\copy\plywhite]
+\fi
+\iffinishgameone
+\yourdate[\copy\leavingblack][\the\considerblack][\the\considersumblack]
+\mydate[\copy\arrivalwhite][\copy\leavingwhite][\the\considerwhite][\the\considersumwhite]\fi
+\fi}%
+%
+\def\finishgametwo{
+ \newgame
+\savegametwo
+\global\finishgametwotrue}
+%----------------- Holiday --------------------------------
+\newcount\hw \hw=0
+\newcount\hb \hb=0
+\gdef\holidaywhite#1 {\global\hw=#1 \global\advance\considersumwhite by-\hw}
+\gdef\holidayblack#1 {\global\hb=#1 \global\advance\considersumblack by-\hb}
+%
+%-----------------Create the postcard----------------------
+%
+\def\sender#1{\gdef\sender{#1}}
+\def\receiver#1{\gdef\receiver{#1}}
+\def\cardmessage#1{\gdef\cardmessage{#1}}
+%
+\gdef\postcard{\@ifnextchar [{\@ipostcard}{\@ipostcard[e]}}
+\long\def\@ipostcard[#1](#2,#3){%
+\vbox{\vskip #3\fboxsep 0pt\rlap{\kern#2
+\if #1f \fboxrule0.5pt \else \fboxrule0pt \fi
+\fbox{\vbox to 97mm{\font\Chess=chess15
+\restoregameone
+\vskip 2mm
+\hbox to 69mm{\hskip 10mm\showboardwithnotation\hss}\vskip 2mm
+\iffinishgameone \else
+\hbox to 69mm{\hss\copy\acceptonebox\hss}
+\hbox to 69mm{\hss\copy\moveonebox\hss}
+\fi
+\vss
+\hbox to 69mm{\hskip 10mm\copy\mydatebox\hss}
+\vskip 4mm}
+%
+\vbox to 97mm{\font\Chess=chess15
+\restoregametwo
+\vskip 2mm
+\hbox to 69mm{\hskip 10mm\showboardwithnotation\hss}\vskip 2mm
+\iffinishgametwo \else
+\hbox to 69mm{\hss\copy\accepttwobox\hss}
+\hbox to 69mm{\hss\copy\movetwobox\hss}
+\fi
+\vss
+\hbox to 69mm{\hskip 10mm\copy\yourdatebox\hss}
+\vskip 2mm
+\hbox{\salutations\hss}
+\vskip 2mm
+}}}}}
+%
+\gdef\postcardaddress{
+\@ifnextchar [{\@ipostcardaddress}{\@ipostcardaddress[ee]}}
+\long\def\@ipostcardaddress[#1#2](#3,#4){%
+\vbox{\vskip #4
+\fboxsep 4mm\rlap{\kern#3\hbox{
+\if #1f \fboxrule0.5pt \else
+\if #2f \fboxrule0.5pt \else
+\fboxrule0pt \fi\fi
+\fbox{\vbox to 89mm{\hsize 60mm
+\sender\\\vss
+\cardmessage\vss\vss}
+\hskip 4.5mm
+\if #1t \vrule \else \if #2t \vrule\fi\fi
+\hskip 5.5mm
+\vbox to 89mm{\hsize 60mm\fboxrule0.5pt
+\hskip 35mm\fbox{\rule{0cm}{16mm}\hskip 12mm}\\[8mm]
+\if #1t {\xiipt \bf \postcardname} \else
+\if #2t {\xiipt \bf \postcardname} \fi\fi
+\vss\vss\vss
+\receiver
+\vss}}}}}}
+%
+%-----------------Calculation of departure date------------
+%
+% Call \departure day.month.year time ==> in box \arrival
+% result : in box \leaving
+\newbox\arrival
+\newbox\leaving
+%
+\newcount\posty
+\newcount\postm
+\newcount\postd
+\newcount\posttemp
+\newcount\postp
+\newcount\posts
+% date time
+\gdef\@departure#1.#2.#3 #4#5{%
+\posty=#3\relax\postm=#2\relax\postd=#1\relax\postp=#4#5\relax
+%
+% It works only up to 2099 but I think it doesn't matter
+%
+\advance\posty by -1900
+%
+\posts=\posty
+\ifnum\posts>99\advance\posts by -100 \fi
+\setbox\arrival=\hbox{\the\postd .\the\postm .\the\posts }
+%
+\ifnum\postm<3\advance\postm12\advance\posty by -1\else \fi
+%
+\posts=\posty
+\multiply\posts36525\relax
+\divide\posts100\relax
+%
+\posttemp=\postm
+\advance\posttemp1
+\multiply\posttemp306\relax
+\divide\posttemp10\relax
+\advance\posts\posttemp
+\advance\posts by -122
+\advance\posts\postd
+%
+% Advance daycount by considertime
+%
+\advance\posts\postp
+%
+% year
+%
+\posty=\posts
+\multiply\posty by 100
+\divide\posty36525
+\posttemp=\posty
+%
+\multiply\posttemp36525
+\divide\posttemp100\relax
+\advance\posts by -\posttemp
+%
+% month
+\advance\posts by 122
+\postm=\posts
+\multiply\postm10\relax
+\divide\postm306\relax
+\advance\postm by -1
+% day
+\posttemp=\postm
+\advance\posttemp by 1
+\multiply\posttemp306\relax
+\divide\posttemp10\relax
+\advance\posts by -\posttemp
+\postd=\posts
+%
+% I think there is a little mistake in my formular
+% Correction at leapyear : 29.2 instead of 31.2
+%
+\ifnum\postm=2 \ifnum\postd=31 \advance\postd by -2\fi\fi
+%
+\ifnum\postm>12\advance\postm by -12 \advance\posty by 1\else \fi
+\ifnum\posty>99\advance\posty by -100 \fi
+%
+% Other faults 00.04 instead of 31.03
+% Other faults 00.09 instead of 31.08
+%
+\ifnum\postm=4 \ifnum\postd=0 \postd=31 \postm=3 \fi\fi
+\ifnum\postm=9 \ifnum\postd=0 \postd=31 \postm=8 \fi\fi
+%
+\setbox\leaving=\hbox{\the\postd .\the\postm .\the\posty }
+}
+
+\def\departure#1.#2.#3 #4{% day, month, year , considertime
+\@departure}
+%
diff --git a/fonts/chess/bdfchess/bdfengl.dvi b/fonts/chess/bdfchess/bdfengl.dvi
new file mode 100644
index 0000000000..025d44c28f
--- /dev/null
+++ b/fonts/chess/bdfchess/bdfengl.dvi
Binary files differ
diff --git a/fonts/chess/bdfchess/bdfengl.tex b/fonts/chess/bdfchess/bdfengl.tex
new file mode 100644
index 0000000000..d01c315226
--- /dev/null
+++ b/fonts/chess/bdfchess/bdfengl.tex
@@ -0,0 +1,530 @@
+% Dokumentation for BDFCHESS.STY 1.2
+% For printing this documentation you need the following styles:
+% ART11.STY
+% A4.STY
+% from CHESS12 distribution :
+% A4WIDE.STY
+% CHESS.STY
+% from Babel-Sytem :
+% ENGLISH.STY
+% BABEL.STY
+% BABEL.SWI
+% and of course BDFCHESS.STY
+%
+% FONTS :
+% Magnification 1000 : chess15,chessf10,chess10f,chess20,cmex10,
+% cmbx12,cmi12,cmsy10,cmr10,cmr12,cmsy9,cmr9,cmr8
+% Magnification 1095 : cmtt10,cmbx10,cmsy10,cmmi10,cmr10,cmcsc10
+% Magnification 1440 : cmbx10,cmr10,cmcsc10
+% Magnification 1728 : cmbx10
+%
+\documentstyle[a4wide,11pt,chess,bdfchess]{article}
+\parindent 0pt
+\parskip 3mm
+\topmargin -1cm
+\newfont{\fig}{chess10f scaled 1000}
+%
+% turn of those nasty overfull and underfull hboxes
+%
+\hbadness=10000
+\hfuzz=50pt
+%
+\newcommand{\bs}{$\backslash$}
+%
+\def\TeX{\rm T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}
+%
+\def\LaTeX{\rm L\kern-.36em\raise.3ex\hbox{\sc a}\kern-.15em
+ T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}
+%
+\newcommand{\boardwithtext}[2]{%
+\parbox[t]{55mm}
+{\input #1
+\showboard #2\\
+\ifWhite
+ \advance\movecount by 1
+ White, Move \the\movecount
+ \else Black, Move \the\movecount
+ \fi
+\vskip 3mm}}
+%
+\begin{document}
+\centerline{\Large A \LaTeX\ style for management of
+correspondence chess games}\vskip 4mm
+\centerline{Frank Hassel}\vskip 5mm
+{\Large Requirements}\\[5mm]
+{\bf CHESS.STY 1.2} by Piet Tutelaers\\
+with PK-Fonts and font metric files: CHESSF10, CHESS10, CHESS20,
+CHESS30 (CHESS15 for typesetting postcard)\par
+{\bf BABEL-PACKAGE} by Johannes Braams for language support\par
+{\bf A4WIDE.STY} by Jean-Fran\c{c}ois Lamy for large pages\par
+Notice : You can only use this style with \LaTeX .\\
+The name BdFCHESS.STY is a rememberance on the old name of the
+german chess correspondence federation which was renamed from {\bf
+B}und {\bf d}eutscher {\bf F}ernschachfreunde to Deutscher
+Fernschachbund.\\[5mm]
+{\Large Additions to CHESS.STY which are not only usefull for
+postal chess players}\\[5mm]
+{\font\Chess=chess15\footnotesize
+\begin{tabular}{ccc}
+\showinversboard&\showboardwithnotation&
+\showinversboardwithnotation\\
+\bs showinversboard&\bs showboardwithnotation& \bs
+showinversboardwithnotation\\
+\end{tabular}}\par\vskip 5mm
+For typesetting the postcard I use four macros to save and restore
+chess positions\\
+\centerline{\bf \bs savegameone \bs restoregameone \bs savegametwo
+\bs restoregametwo .}
+You may use them to save a game, play a variation and restore the
+previous positions.\par
+I have added a font named chess10f. It is the same font as
+chessf10 for tournament style, but the knight {\fig N} looks to
+the right side instead {\Fig N} of left side.\\
+It is the recommondation of FIDE \footnote{Schubart, N”ttger,
+Turnierleiterhandbuch des Deutschen Schachbundes, Walter de
+Gruyter Verlag, Berlin 1987} that on chessboards the knight looks
+like {\Fig N} and in the figurine Notation like {\fig N}. The
+elegant way to change the font is to write in the front of your
+document \verb+\font\Fig=chess10f+. The awful way is to rename
+chess10f.pk to chessf10.pk. But please restore the old state to
+avoid confusion, if you give the packages to other people.
+\newpage
+{\Large Additions to CHESS.STY for postal chess players.}\\[5mm]
+At first a short example.
+\begin{verbatim}
+\documentstyle[a4wide,11pt,chess,bdfchess]{article}
+\pagestyle{empty}
+\parindent 0mm
+\parskip 0mm
+%
+\sender{\small sender:\\
+ \large{\bf Frank Hassel}\\
+ Im Kirschgarten 14\\
+ 6501 W”rrstadt\\
+ Germany}
+\receiver{\parskip 5mm\LARGE \bf DANTE \vskip 2pt\hrule
+ \LARGE Postfach 10 18 40\vskip 2pt\hrule
+ \LARGE \bf D-69008 Heidelberg\vskip 2pt\hrule}
+%
+\begin{document}
+%
+\centerline{\large \bf Max Mustermann - Frank Hassel}
+\begin{gameone}
+\postmove 03.09.1987 0 e2e4 d7d6 11.09.1987 0
+\postmove 12.09.1987 2 d2d4 g8f6 15.09.1987 1
+\postmove 17.09.1987 2 b1c3 g7g6 21.09.1987 1
+$$\showinversboardwithnotation$$
+\end{gameone}\par
+%
+\centerline{\large \bf Frank Hassel - Max Mustermann}
+\begin{gametwo}
+\postmove 11.09.1987 0 d2d4 g8f6 12.09.1987 2
+\postmove 15.09.1987 1 c2c4 g7g6 17.09.1987 2
+\postply 21.09.1987 1 b1c3
+$$\showboardwithnotation$$
+\end{gametwo}\newpage
+%
+\cardmessage{I take holidays from \\30.09.87 to 14.10.87}
+%
+\postcard[f](0mm,0mm)\par
+\postcardaddress[tf](-1mm,20mm)
+%
+\end{document}
+\end{verbatim}
+\newpage
+\label{exone}
+Result :\\[5mm]
+\centerline{\large \bf Max Mustermann - Frank Hassel}
+\begin{gameone}
+\postmove 03.09.1987 0 e2e4 d7d6 11.09.1987 0
+\postmove 12.09.1987 2 d2d4 g8f6 15.09.1987 1
+\postmove 17.09.1987 2 b1c3 g7g6 21.09.1987 1
+$$\showinversboardwithnotation$$
+\end{gameone}\par
+\centerline{\large \bf Frank Hassel - Max Mustermann}
+\begin{gametwo}
+\postmove 11.09.1987 0 d2d4 g8f6 12.09.1987 2
+\postmove 15.09.1987 1 c2c4 g7g6 17.09.1987 2
+\postply 21.09.1987 1 b1c3
+$$\showboardwithnotation$$
+\end{gametwo}\newpage
+\sender{\small sender:\\
+ \large{\bf Frank Hassel}\\
+ Im Kirschgarten 14\\
+ 6501 W”rrstadt\\
+ Germany}
+\receiver{\parskip 5mm\LARGE \bf DANTE \vskip 2pt\hrule
+ \LARGE Postfach 10 18 40\vskip 2pt\hrule
+ \LARGE \bf D-69008 Heidelberg\vskip 2pt\hrule}
+\cardmessage{I take holidays from \\30.09.87 to 14.10.87}
+\postcard[f](0mm,0mm)\par
+\postcardaddress[tf](-1mm,20mm)\newpage
+Explanations :
+\begin{description}
+\item[\bs sender\{...\}] It is an empty definition. You can fill
+in your own address in a way, which corresponds your taste.
+\item[\bs receiver\{...\}] It is an empty definition. You can fill
+in the receiving address in a way, which corresponds your taste.
+\item[\bs cardmessage\{...\}] It is an empty definition. You can
+fill in your messages. \\
+See page \pageref{layout} for the layout of postcard.
+\item[Environment gameone and gametwo] In a normal postal chess
+match each participant plays two games, one game as white player
+and one game as black player. Therefore this style manages two
+games, but you are also able to play one game. The initalisation
+starts with \verb+\newgame \savegameone \savegametwo+ which starts
+a new game and stores it. If you play only one game, the postcard
+show us this game and a new board.\\
+If you start a new game with \verb+\begin{gameone}+ the following
+actions happens \verb+\newgame+ \verb+\finishgameonefalse+ and the
+tabularheader is typesetted. If you want to continue a running
+game, you can use the position-environment as described in
+CHESS.STY. In addition you must set the considertimes by
+\verb+\global\considersumwhite=xxx+ \verb+\global+
+\verb+\considersumblack=xxx+. Then you can use the macros
+\verb+\postmove \postply+ as de\-scriped below. With
+\verb+\end{gameone}+ all positions are stored with
+\verb+\savegameone+ and the dates and last move are stored in
+boxes, see page \pageref{layout}. This style assumes that the
+last half move is your move ! If you want to set for example good
+moves to be played latter, which should not appears on the
+postcard, you must set them outside the environment gameone.
+\item[\bs postmove] For typesetting moves you can call \bs postmove
+with 6 arguments\\
+1. arrivaldate of move player white in the notation day.month.year
+(dd.mm.yyyy)\\
+2. considertime of player white\\
+3. move of player white in the notation [a-h][1-8][a-h]
+[1-8]\{\{$Q\mid R\mid B\mid N$\}comment\}.\\
+Description see documentation of CHESS.STY\\
+4. move of player black in the notation [a-h][1-8][a-h]
+[1-8]\{\{$Q\mid R\mid B\mid N$\}comment\}\\
+5. arrivaldate of move player black\\
+6. considertime player black\\
+The expansion of this macro gives one tabularline : see example
+page \pageref{exone}\\
+\TeX\ calculates the leavingdate by the macro
+\verb+\departure#1.#2.#3 #4+ (dd.mm.yyyy condidertime) and the
+ sums of considertimes in fields $\sum$.
+\item[\bs postply] For typesetting halfmoves you can call \bs
+ postply with 3 arguments\\
+1. arrivaldate in the notation day.month.year (dd.mm.yyyy)\\
+2. considertime \\
+3. halfmove in the notation [a-h][1-8][a-h][1-8]\{\{$Q\mid R\mid
+ B\mid N$\}comment\}
+\item[{\bs postcard[f](dim,dim)}] This is the macro for
+typesetting the postcardside with moves and dates. I have added
+tree parameters. Optional [f] which creates a frame around the
+card. And two dimension parameters for positioning the card,
+first for a horizontal offset, second for vertical offset. Both
+can be postiv and negativ. But of course you can also use the
+options of your printerdriver for positioning the postcard. So
+good luck to find the best way for your printer.
+\item[{\bs postcardaddress[tf](dim,dim)}] Macro for typesetting the
+front of the postcard. Options see \verb+\postcard[..](..,..)+.
+The optional parameter [t] divide the postcard with a vertical
+line and typeset the word postcard.
+\end{description}
+For the other macros of BdFCHESS.STY again a short example :
+\begin{nochess}
+\begin{verbatim}
+\documentstyle[a4wide,11pt,chess,bdfchess]{article}
+\pagestyle{empty}
+\parindent 0mm
+\parskip 0mm
+\postcardlanguage{german}
+%
+\begin{document}
+%
+\begin{gameone}
+\postmove 24.02.1990 2 c2c4 e7e5 27.02.1990 2
+English system : other playable moves |1. : c7-c5 or 1. : Ng8-f6|
+\postmove 02.03.1990 1 b1c3 g8f6 04.03.1990 1
+\postmove 07.03.1990 2 g1f3 b8c6 11.03.1990 1
+\holidaywhite 7
+\postmove 14.03.1990 9 d2d4 e5e4 28.03.1990 1
+\end{gameone}\par
+%
+\centerline{\bf Movesuggestion}
+| \ifmoveone 5 Nf3-g5 5 h7-h6 |
+%
+\postcard(0mm,30mm)
+%
+\end{document}
+\end{verbatim}
+\end{nochess}
+%
+\postcardlanguage{german}
+\finishgametwo
+\par\parskip 0mm
+\newpage
+Result :\\[5mm]
+\begin{gameone}
+\postmove 24.02.1990 2 c2c4 e7e5 27.02.1990 2
+English system : other playable moves |1. : c7-c5 or 1. : Ng8-f6|
+\postmove 02.03.1990 1 b1c3 g8f6 04.03.1990 1
+\postmove 07.03.1990 2 g1f3 b8c6 11.03.1990 1
+\holidaywhite 7
+\postmove 14.03.1990 9 d2d4 e5e4 28.03.1990 1
+\end{gameone}\par
+%
+\centerline{\bf Movesuggestion}
+| \ifmoveone 5 Nf3-g5 5 h7-h6 |
+%
+\postcard(0mm,30mm)\par\parskip 3mm\newpage
+%
+Explanations :
+\begin{description}
+\item[\bs postcardlanguage\{....\} ] These macros offers the
+possibility to typeset the postcard in an other language.
+There are still definitions for english, german and french, but
+you can add your language to BdFCHESS.STY. In the example above
+the notation-language is english (defined by the BABEL-System and
+CHESS.STY) and the postcard-language is german.
+\item[Analysis and Comments] You can add comments and switch with
+$\mid$ in the analysismode as descriped in CHESS.STY.
+\item[\bs holidaywhite num, \bs holidayblack num] These macros
+correct the considertime, if you have taken holidays between
+arrival and leaving of a move.
+\item[\bs ifmoveone, \bs ifmovetwo] If you want to offer an
+suggestionmove to your chessfriend these macros may be usefull for
+you. It uses the analysis mode of CHESS.STY, so you must set the
+command inside the switch $\mid$...$\mid$. The four arguments are
+- movecount halfmove movecount halfmove - , because
+the macro only sort the arguments in the correct fields, you must
+set the moves completly. For example : $\mid$Nf3-e5, Ke8*f8,
+Qd1-d8+,Bc1-g5$\mid$ \\
+Result : |Nf3-e5, Ke8*f8, Qd1-d8+, Bc1-g5|\\
+And don't forget the space between last argument and $\mid$.\\
+If you call \bs ifmoveone twice, two suggestionmoves appears on
+the postcard. If you call it for a third time, there is not enough
+room and the result collide with the dates, so you have to design
+a new \bs moveonebox, refer to chapter: if all else fails.
+\end{description}
+Remainding commands :
+\postcardlanguage{english}
+\begin{description}
+\item[\bs acceptmoveone, \bs acceptmovetwo] This commands are
+working as \bs ifmoveone. They typesets the move before the actual
+move. So if you accept a suggestionmove you can repeat it at the
+postcard.
+\item[\bs finishgameone, \bs finishgametwo] You have to call these
+macros, if you finished a game, so that the moves and dates of
+this game don't appear on the postcard.
+\item[\bs tabularheader] If the tabular continued on a new page,
+ you can call \bs tabularheader.\\ Result :\\[3mm]
+\tabularheader
+\item[\bs storeboard\{filename\}] This macro stores the momentary
+positions of all pieces in a ASCII-File. It saves it as \bs
+begin\{position\} \bs White(....) \bs Black(...) \bs global \bs
+movecount=num \bs global \bs Whitetrue or \bs Whitefalse \bs
+end\{position\}. But be careful, this macro has two disadvantages.
+With BdFCHESS it works only correct inside environments gameone or
+gametwo (else movecount=0, Whitetrue). It stores the positions
+only in the notation language which was defined by babel system.
+So if you want to use the stored positions in an other document, you have to use the same language (Styles: english, french,
+germanb, dutch).\\
+I use this macro for becoming a survey of all my running games.
+Use \bs storeboard\{filename\} as last command just before say \bs end\{gameone or gametwo\}. Then you can prepare an other document, for example to typeset 12 running games on one A4-page.\\
+\begin{verbatim}
+\documentstyle[a4wide,chess]{article}
+\textheight 280mm
+\textwidth 167mm
+\parindent 0pt
+\topmargin -1cm
+\pagestyle{empty}
+%
+% macro \boardwithtext{filename}{text}
+%
+\newcommand{\boardwithtext}[2]{%
+\parbox[t]{55mm}
+{\input #1
+\showboard #2\\
+\ifWhite
+ \advance\movecount by 1
+ White, Move no. \the\movecount
+ \else Black, Move no. \the\movecount
+ \fi
+\vskip 3mm}}
+%
+\begin{document}
+\font\Chess=chess15
+\centerline{\Large Chess Openings}
+%
+% game 1 - 12
+%
+\boardwithtext{game1.brd}{English Opening {\bf A 27}\\(Dutch System)}
+\boardwithtext{game2.brd}{Old Indian Defense {\bf A 55}}
+\boardwithtext{game3.brd}{Benoni Defence {\bf A 70}\\(Main Line)}\\
+%
+\boardwithtext{game4.brd}{Alekhine's Defence{\bf B 03}\\(Four Pawn's Attack)}
+\boardwithtext{game5.brd}{Dutch Defence {\bf A 83}\\ (Staunton Gambit)}
+\boardwithtext{game6.brd}{Pirc Defence {\bf B 08}}\\
+%
+\boardwithtext{game7.brd}{Caro-Kann {\bf B 11}\\(Two Knight's Variation)}
+\boardwithtext{game8.brd}{Sicilian Defence {\bf B 45}\\(Classical System)}
+\boardwithtext{game9.brd}{French Defence{\bf C 01}\\ (Exchange Variation)}\\
+%
+\boardwithtext{game10.brd}{Queen's Gambit {\bf D 07}\\(Tschigorin Defence)}
+\boardwithtext{game11.brd}{Vienna Game {\bf C 26}}
+\boardwithtext{game12.brd}{Nimzo-Indian Defence {\bf E 23}}
+%
+\end{document}
+\end{verbatim}
+\end{description}
+\textheight 280mm \textwidth 175mm
+\newpage
+%
+\typeout{Sorry for the pain of your harddisk}
+\typeout{Storing game1.brd - game12.brd as example for macro storeboard...}
+%English
+\begin{position}
+\White(Ra1,Nc3,Bc2,Qd1,Ke1,Bf1,Nf3,Rh1,a2,b2,c4,d2,e2,f2,g2,h2)
+\Black(Ra8,Nc6,Bc8,Qd8,Ke8,Bf8,Ng8,Rh8,a7,b7,c7,d7,e5,f5,g7,h7)
+\end{position}
+\global\Whitetrue\global\movecount=3
+\storeboard{game1.brd}
+%Old Indian Defence
+\begin{position}
+\White(Ra1,Nc3,Bc1,Qd1,Ke1,Bf1,Nf3,Rh1,a2,b2,c4,d4,e4,f2,g2,h2)
+\Black(Ra8,Nd7,Bc8,Qd8,Ke8,Bf8,Nf6,Rh8,a7,b7,c7,d6,e5,f7,g7,h7)
+\end{position}
+\global\Whitefalse\global\movecount=5
+\storeboard{game2.brd}
+%Benoni Defence
+\begin{position}
+\White(Ra1,Nc3,Bc1,Qa4,Ke1,Bf1,Nf3,Rh1,a2,b2,d5,e4,f2,g2,h2)
+\Black(Ra8,Nb8,Bb8,Qd8,Ke8,Bg7,Nf6,Rh8,a7,b7,c5,d6,f7,g6,h7)
+\end{position}
+\global\Whitefalse\global\movecount=8
+\storeboard{game3.brd}
+%Aljechin
+\begin{position}
+\White(Ra1,Nb1,Bc1,Qd1,Ke1,Bf1,Ng1,Rh1,a2,b2,c4,d4,e5,f2,g2,h2)
+\Black(Ra8,Nb8,Bb8,Qd8,Ke8,Bf8,Nd5,Rh8,a7,b7,c7,d6,e7,f7,g7,h7)
+\end{position}
+\global\Whitefalse\global\movecount=4
+\storeboard{game4.brd}
+%Staunton
+\begin{position}
+\White(Ra1,Nc3,Bg5,Qd1,Ke1,Bf1,Ng1,Rh1,a2,b2,c2,d4,f2,g2,h2)
+\Black(Ra8,Nb8,Bb8,Qd8,Ke8,Bf8,Nf6,Rh8,a7,b7,c7,d7,e7,e4,g7,h7)
+\end{position}
+\global\Whitefalse\global\movecount=4
+\storeboard{game5.brd}
+%Pirc
+\begin{position}
+\White(Ra1,Nc3,Bc1,Qd1,Ke1,Bf1,Nf3,Rh1,a2,b2,c2,d4,e4,f2,g2,h2)
+\Black(Ra8,Nb8,Bb8,Qd8,Ke8,Bf8,Nf6,Rh8,a7,b7,c7,d6,e7,f7,g6,h7)
+\end{position}
+\global\Whitefalse\global\movecount=4
+\storeboard{game6.brd}
+%Caro-Kann
+\begin{position}
+\White(Ra1,Nc3,Bc1,Qd1,Ke1,Bf1,Nf3,Rh1,a2,b2,c2,d2,e4,f2,g2,h2)
+\Black(Ra8,Nb8,Bg4,Qd8,Ke8,Bf8,Ng8,Rh8,a7,b7,c6,d5,e7,f7,g7,h7)
+\end{position}
+\global\Whitetrue\global\movecount=3
+\storeboard{game7.brd}
+%Sicilian
+\begin{position}
+\White(Ra1,Nc3,Bc1,Qd1,Ke1,Bf1,Nd4,Rh1,a2,b2,c2,e4,f2,g2,h2)
+\Black(Ra8,Nc6,Bb8,Qd8,Ke8,Bf8,Nf6,Rh8,a7,b7,d7,e6,f7,g7,h7)
+\end{position}
+\global\Whitetrue\global\movecount=5
+\storeboard{game8.brd}
+%French
+\begin{position}
+\White(Ra1,Nb1,Bc1,Qd1,Ke1,Bf1,Ng1,Rh1,a2,b2,c2,d4,d5,f2,g2,h2)
+\Black(Ra8,Nb8,Bb8,Qd8,Ke8,Bf8,Ng8,Rh8,a7,b7,c7,e6,f7,g7,h7)
+\end{position}
+\global\Whitefalse\global\movecount=3
+\storeboard{game9.brd}
+%Quenn's Gambit
+\begin{position}
+\White(Ra1,Nb1,Bc1,Qd1,Ke1,Bf1,Ng1,Rh1,a2,b2,c4,d4,e2,f2,g2,h2)
+\Black(Ra8,Nc6,Bc8,Qd8,Ke8,Bf8,Ng8,Rh8,a7,b7,c7,d5,e7,f7,g7,h7)
+\end{position}
+\global\Whitetrue\global\movecount=2
+\storeboard{game10.brd}
+%Vienna
+\begin{position}
+\White(Ra1,Nc3,Bc1,Qd1,Ke1,Bc4,Ng1,Rh1,a2,b2,c2,d2,e4,f2,g2,h2)
+\Black(Ra8,Nb8,Bb8,Qd8,Ke8,Bb4,Nf6,Rh8,a7,b7,c7,d7,e5,f7,g7,h7)
+\end{position}
+\global\Whitetrue\global\movecount=3
+\storeboard{game11.brd}
+%Nimzo-Indian
+\begin{position}
+\White(Ra1,Nc3,Bc1,Qb3,Ke1,Bf1,Ng1,Rh1,a2,b2,c4,c5,e2,f2,g2,h2)
+\Black(Ra8,Nc6,Bb8,Qd8,Ke8,Bb4,Nf6,Rh8,a7,b7,d7,e6,f7,g7,h7)
+\end{position}
+\global\Whitetrue\global\movecount=5
+\storeboard{game12.brd}
+%
+%
+%
+\typeout{And reading them again}
+\centerline{\Large Chess Openings}
+\font\Chess=chess15
+\boardwithtext{game1.brd}{English Opening {\bf A 27}\\(Dutch System)}
+\boardwithtext{game2.brd}{Old Indian Defense {\bf A 55}}
+\boardwithtext{game3.brd}{Benoni Defence {\bf A 70}\\(Main Line)}\\
+%
+\boardwithtext{game4.brd}{Alekhine's Defence {\bf B 03}\\(Four Pawn's Attack)}
+\boardwithtext{game5.brd}{Dutch Defence {\bf A 83}\\ (Staunton Gambit)}
+\boardwithtext{game6.brd}{Pirc Defence {\bf B 08}}\\
+%
+\boardwithtext{game7.brd}{Caro-Kann {\bf B 11}\\(Two Knight's Variation)}
+\boardwithtext{game8.brd}{Sicilian Defence {\bf B 45}\\(Classical System)}
+\boardwithtext{game9.brd}{French Defence {\bf C 01}\\ (Exchange Variation)}\\
+%
+\boardwithtext{game10.brd}{Queen's Gambit {\bf D 07}\\(Tschigorin Defence)}
+\boardwithtext{game11.brd}{Vienna Game {\bf C 26}}
+\boardwithtext{game12.brd}{Nimzo-Indian Defence {\bf E 23}}
+%
+\font\Chess=chess20
+\textheight 235mm \textwidth 150mm
+\newpage
+%
+If all else fails, here is the layout of the postcard with it's
+macros and boxes.\\[5mm]
+\small
+\setlength{\unitlength}{1mm}
+\begin{picture}(150,50)\label{layout}
+\put(0,0){\framebox(70,48.5){}}
+\put(6,24){\dashbox(23,23){Board 1}}
+\put(41,24){\dashbox(23,23){Board 2}}
+\put(3,12){\dashbox(28,5){\bs moveonebox}}
+\put(3,17){\dashbox(28,5){\bs acceptonebox}}
+\put(38,12){\dashbox(28,5){\bs movetwobox}}
+\put(38,17){\dashbox(28,5){\bs accepttwobox}}
+\put(5,2){\dashbox(23,9){\bs mydatebox}}
+\put(41,4){\dashbox(23,7){\bs yourdatebox}}
+\put(35,1){\dashbox(20,2){}}
+\put(80,0){\framebox(70,48.5){}}
+\put(136,36){\framebox(9,11){}}
+\put(81,1){\dashbox(30,32.5){\bs cardmessage}}
+\put(81,33.5){\dashbox(30,14){\bs sender}}
+\put(116,1){\dashbox(32,32.5){\bs receiver}}
+\end{picture}\par
+\normalsize
+\hskip 2cm \bs postcard(...) \hskip 5cm \bs postcardaddress(...) \\[5mm]
+If you don't agree with an element of the postcard you can change
+it, just before you say \verb+\postcard[..]+ by the following
+way.\\[2mm]
+Change board 1\\
+\verb+\board{.......} or \begin{position} ...... \end{position}+\\
+\verb+\savegameone+\\[2mm]
+Change contents of boxes for example \bs moveonebox\\
+\verb+\global\setbox\moveonebox=\vbox{..........}+\\[2mm]
+Change definitions\\
+\verb+\gdef\sender{.....}+\\[2mm]
+But you can only change the contents not the position of an
+element ! \\[1cm]
+Please contact me for bug reports and suggestions :\\[1cm]
+Frank Hassel\\
+Im Kirschgarten 14\\
+55286 W\"orrstadt\\
+Germany\\
+\end{document}
diff --git a/fonts/chess/bdfchess/bdfgerm.dvi b/fonts/chess/bdfchess/bdfgerm.dvi
new file mode 100644
index 0000000000..b5c54a94a1
--- /dev/null
+++ b/fonts/chess/bdfchess/bdfgerm.dvi
Binary files differ
diff --git a/fonts/chess/bdfchess/bdfgerm.tex b/fonts/chess/bdfchess/bdfgerm.tex
new file mode 100644
index 0000000000..ddd2b73e45
--- /dev/null
+++ b/fonts/chess/bdfchess/bdfgerm.tex
@@ -0,0 +1,527 @@
+% Dokumentation fuer BDFCHESS.STY 1.2
+% Um diesen Text zu drucken ben\"otigen sie folgende Style-Dateien:
+% ART11.STY
+% A4.STY
+% von der CHESS12 Verteilung :
+% A4WIDE.STY
+% CHESS.STY
+% vom Babel-System :
+% GERMANB.STY
+% BABEL.STY
+% BABEL.SWI
+% und nat\"urlich BDFCHESS.STY
+%
+% FONTS :
+% Magnification 1000 : chess15,chessf10,chess10f,chess20,cmex10,
+% cmbx12,cmi12,cmsy10,cmr10,cmr12,cmsy9,cmr9,cmr8
+% Magnification 1095 : cmtt10,cmbx10,cmsy10,cmmi10,cmr10,cmcsc10
+% Magnification 1440 : cmbx10,cmr10,cmcsc10
+% Magnification 1728 : cmbx10
+%
+\documentstyle[a4wide,11pt,germanb,chess,bdfchess]{article}
+\parindent 0pt
+\parskip 3mm
+\topmargin -1cm
+\newfont{\fig}{chess10f scaled 1000}
+%
+\hbadness=10000
+\hfuzz=50pt
+%
+\newcommand{\bs}{$\backslash$}
+%
+\def\TeX{\rm T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}
+%
+\def\LaTeX{\rm L\kern-.36em\raise.3ex\hbox{\sc a}\kern-.15em
+ T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}
+%
+\newcommand{\boardwithtext}[2]{%
+\parbox[t]{55mm}
+{\input #1
+\showboard #2\\
+\ifWhite
+ \advance\movecount by 1
+ Wei\ss , Zugnr. \the\movecount
+ \else Schwarz, Zugnr. \the\movecount
+ \fi
+\vskip 3mm}}
+%
+\begin{document}
+\centerline{\Large Erweiterungen des CHESS-STYLES f\"ur Fernschachspieler}\vskip 4mm
+\centerline{Frank Hassel}\vskip 5mm
+{\Large Voraussetzungen}\\[5mm]
+{\bf CHESS.STY 1.2} von Piet Tutelaers\\
+mit PK-Fonts und Font metric files: CHESSF10, CHESS10, CHESS20,
+CHESS30 (CHESS15 um die Postkarte zu setzen)\par
+{\bf BABEL-PACKAGE} von Johannes Braams zur Sprachunterst\"utzung\par
+{\bf A4WIDE.STY} von Jean-Fran\c{c}ois Lamy \par
+Achtung : Dieser Style kann nur mit \LaTeX\ genutzt werden.\\
+Der Name BdFCHESS.STY steht zur Erinnerung an den alten Namen des Deutschen
+Fernschachbundes der vor der Wiedervereinigung {\bf B}und {\bf d}eutscher
+{\bf F}ernschachfreunde hie\ss .\\[5mm]
+{\Large Erg\"anzungen zu CHESS.STY nicht nur f\"ur Fernschachspieler}\\[5mm]
+{\font\Chess=chess15\footnotesize
+\begin{tabular}{ccc}
+\showinversboard&\showboardwithnotation&
+\showinversboardwithnotation\\
+\bs showinversboard&\bs showboardwithnotation& \bs
+showinversboardwithnotation\\
+\end{tabular}}\par\vskip 5mm
+Um die zur Zug\"ubermittlung notwendige Postkarte zu setzen, benutze ich vier
+Makros, um die Spielst\"ande zwischenzuspeichern und wieder zu laden.\\
+\centerline{\bf \bs savegameone \bs restoregameone \bs savegametwo
+\bs restoregametwo .}
+Diese k\"onnen auch dazu benutzt werden, um einen Spielstand zu speichern,
+eine Variation zu spielen und den alten Spielstand wiederherzustellen.\par
+Der neue Font chess10f weist gegen\"uber chessf10 einige kleine \"Anderungen
+auf. Die Basislinie der Figuren sitzt h\"oher und der Springer {\fig N} schaut
+nach rechts, statt {\Fig N} nach links.
+Dies ist in \"Ubereinstimmung mit der Empfehlung der FIDE \footnote{Schubart,
+N\"ottger, Turnierleiterhandbuch des Deutschen Schachbundes, Walter de Gruyter
+Verlag, Berlin 1987}, da\ss\ auf Brettdarstellungen der Springer nach rechts
+und in der figurinen Notation nach links schaut. Um den neuen Font zu nutzen,
+mu\ss\ nur vor \verb+\begin{document} \font\Fig=chess10f+ eingeben werden. Ein
+anderer, aber uneleganter Weg, ist chess10f.pk in chessf10.pk umzubenennen.
+Aber bitte stellen sie den alten Zustand wieder her, wenn sie
+dieses Packet an andere weitergeben.
+\newpage
+{\Large Erg\"anzungen zu CHESS.STY f\"ur Fernschachspieler}\\[5mm]
+Zuerst ein Beispiel:
+\begin{verbatim}
+\documentstyle[a4wide,11pt,germanb,chess,bdfchess]{article}
+\pagestyle{empty}
+\parindent 0mm
+\parskip 0mm
+%
+\sender{\small Absender:\\
+ \large{\bf Frank Hassel}\\
+ Im Kirschgarten 14\\
+ 6501 W\"orrstadt\\
+ Germany}
+\receiver{\parskip 5mm\LARGE \bf DANTE \vskip 2pt\hrule
+ \LARGE Postfach 10 18 40\vskip 2pt\hrule
+ \LARGE \bf D-69008 Heidelberg\vskip 2pt\hrule}
+%
+\begin{document}
+%
+\centerline{\large \bf Max Mustermann - Frank Hassel}\vskip2mm
+\begin{gameone}
+\postmove 03.09.1987 0 e2e4 d7d6 11.09.1987 0
+\postmove 12.09.1987 2 d2d4 g8f6 15.09.1987 1
+\postmove 17.09.1987 2 b1c3 g7g6 21.09.1987 1
+$$\showinversboardwithnotation$$
+\end{gameone}\par
+%
+\centerline{\large \bf Frank Hassel - Max Mustermann}\vskip2mm
+\begin{gametwo}
+\postmove 11.09.1987 0 d2d4 g8f6 12.09.1987 2
+\postmove 15.09.1987 1 c2c4 g7g6 17.09.1987 2
+\postply 21.09.1987 1 b1c3
+$$\showboardwithnotation$$
+\end{gametwo}\newpage
+%
+\cardmessage{Ich habe Urlaub vom \\30.09.87 bis 14.10.87}
+%
+\postcard[f](0mm,0mm)\par
+\postcardaddress[tf](-1mm,20mm)
+%
+\end{verbatim}
+\newpage
+\label{exone}
+Ergebnis :\\[5mm]
+\centerline{\large \bf Max Mustermann - Frank Hassel}\vskip2mm
+\begin{gameone}
+\postmove 03.09.1987 0 e2e4 d7d6 11.09.1987 0
+\postmove 12.09.1987 2 d2d4 g8f6 15.09.1987 1
+\postmove 17.09.1987 2 b1c3 g7g6 21.09.1987 1
+$$\showinversboardwithnotation$$
+\end{gameone}\par
+\centerline{\large \bf Frank Hassel - Max Mustermann}\vskip2mm
+\begin{gametwo}
+\postmove 11.09.1987 0 d2d4 g8f6 12.09.1987 2
+\postmove 15.09.1987 1 c2c4 g7g6 17.09.1987 2
+\postply 21.09.1987 1 b1c3
+$$\showboardwithnotation$$
+\end{gametwo}\newpage
+\sender{\small Absender:\\
+ \large{\bf Frank Hassel}\\
+ Im Kirschgarten 14\\
+ 6501 W\"orrstadt\\
+ Germany}
+\receiver{\parskip 5mm\LARGE \bf DANTE \vskip 2pt\hrule
+ \LARGE Postfach 10 18 40\vskip 2pt\hrule
+ \LARGE \bf D-69008 Heidelberg\vskip 2pt\hrule}
+\cardmessage{Ich habe Urlaub vom \\30.09.87 bis 14.10.87}
+\postcard[f](0mm,0mm)\par
+\postcardaddress[ft](-1mm,20mm)\newpage
+Erl\"auterungen :
+\begin{description}
+\item[\bs sender\{...\}] Dies ist eine leere Definition. Sie k\"onnen den
+Absender nach ihrem Geschmack gestalten.
+\item[\bs receiver\{...\}] Leere Definition f\"ur den Empf\"anger.
+\item[\bs cardmessage\{...\}] Optionales Makro zur \"Ubermittlung von
+Nachrichten auf der Postkartenvorderseite.\\
+Siehe Seite \pageref{layout} f\"ur das Layout der Postkarte.
+\item[Environment gameone und gametwo] In einem normalen Fernschachturnier
+spielt jeder Spieler zwei Partien ( Wei\ss\ und Schwarz), deshalb verwaltet
+dieser Style zwei Partien, kann aber auch in einrundigen Turnieren benutzt
+werden. Die Initialisierung erfolgt mit \verb+\newgame \savegameone
+\savegametwo+, welche eine neue Partie startet und diese speichert. Wenn sie
+nur eine Partie spielen, wird diese und ein Brett in Grundstellung auf der
+Postkarte gesetzt. Bei Beginn eines neues Spieles mit \verb+\begin{gameone}+
+werden die Makros \verb+\newgame+ \verb+\finishgameonefalse+ aufgerufen und
+der Tabellenkopf wird gesetzt. Wenn sie ein laufendes Spiel fortsetzen wollen,
+k\"onnen sie die betreffende Partiestellung mit der position Umgebung, wie in
+CHESS.STY beschrieben, aufbauen. Zus\"atzlich m\"ussen die Ge\-samt\-bedenkzeiten
+mit \verb+\global\considersumwhite=xxx+ und \verb+\global+
+\verb+\considersumblack=xxx+ eingegeben werden.
+Dann k\"onnen sie die Makros \verb+\postmove \postply+, wie weiter
+unter beschrieben benutzen.
+Mit \verb+\end{gameone}+ werden alle Positionen mit \verb+\savegameone+
+gespeichert und das Datum und die letzen Z\"uge in Boxen gesetzt , s.Seite
+\pageref{layout}. Dieser Style geht davon aus, da\ss\ der letzte Halbzug
+ihr Zug ist !
+So da\ss\ Z\"uge, die nicht auf der Postkarte erscheinen sollen, au\ss erhalb
+der Umgebung gameone oder gametwo eingegeben werden m\"ussen.
+\item[\bs postmove] Um ganze Z\"uge zu setzen, mu\ss\ \bs postmove
+mit 6 Argumenten aufgerufen werden.\\
+1. Ankunftsdatum Spieler Wei\ss\ in der Notation Tag.Monat.Jahr
+(dd.mm.yyyy)\\
+2. Bedenkzeit Spieler Wei\ss \\
+3. Halbzug Spieler Wei\ss\ in der Notation [a-h][1-8][a-h]
+[1-8]\{\{$Q\mid R\mid B\mid N$\}Kommentar\}\\
+Beschreibung s. Dokumentation zu CHESS.STY\\
+4. Halbzug Spieler Schwarz in der Notation [a-h][1-8][a-h]
+[1-8]\{\{$Q\mid R\mid B\mid N$\}Kommentar\}\\
+5. Ankunftsdatum Spieler Schwarz\\
+6. Bedenkzeit Spieler Schwarz\\
+Die Aufl\"osung dieses Makros gibt eine Tabellenzeile : siehe Beispiel Seite
+\pageref{exone}\\
+\TeX\ berechnet das Abgangsdatum mit dem Makro \verb+\departure#1.#2.#3 #4+
+(dd.mm.yyyy Bedenkzeit) und die Gesamtbedenkzeit f\"ur das Feld $\sum$.
+\item[\bs postply] Um Halbz\"uge zu setzen, mu\ss\ \bs
+ postply mit 3 Argumenten aufgerufen werden.\\
+1. Ankunftsdatum in der Notation Tag.Monat.Jahr
+(dd.mm.yyyy)\\
+2. Bedenkzeit \\
+3. Halbzug in der Notation [a-h][1-8][a-h]
+[1-8]\{\{$Q\mid R\mid B\mid N$\}Kommentar\}.\\
+\item[{\bs postcard[f](dim,dim)}] Dieses Makro setzt die Postkartenr\"uckseite
+mit Z\"ugen und Daten. Der erste Paramter [f] ist optional und setzt einen
+Rahmen um die Karte. Die beiden anderen Parameter dienen der Positionierung
+der Karte. Der erste gibt einen horizontalen~-, der zweite einen vertikalen
+Offset. Sie k\"onnen positiv und negativ sein. Nat\"urlich k\"onnen zur
+Positionierung der Karte auch die Optionen des Druckertreibers genutzt werden.
+So viel Gl\"uck und nicht zu viele Versuche um den besten Weg zu finden.
+\item[{\bs postcardaddress[tf](dim,dim)}] Makro um die Postkartenvorderseite
+zu setzen. Optionen siehe \verb+\postcard[..](..,..)+. Der
+optionale Parameter [t] teilt die Postkartenvorderseite durch
+eine senkrechte Linie und setzt das Wort Postkarte.
+\end{description}
+F\"ur die anderen Makros von BdFCHESS.STY ein weiteres Beispiel :
+\begin{nochess}
+\begin{verbatim}
+\documentstyle[a4wide,11pt,germanb,chess,bdfchess]{article}
+\pagestyle{empty}
+\parindent 0mm
+\parskip 0mm
+\postcardlanguage{english}
+%
+\begin{document}
+%
+\begin{gameone}
+\postmove 24.02.1990 2 c2c4 e7e5 27.02.1990 2
+Englisches System : Andere spielbare Z\"uge |1. : c7-c5 oder 1. : Sg8-f6|
+\postmove 02.03.1990 1 b1c3 g8f6 04.03.1990 1
+\postmove 07.03.1990 2 g1f3 b8c6 11.03.1990 1
+\holidaywhite 7
+\postmove 14.03.1990 9 d2d4 e5e4 28.03.1990 1
+\end{gameone}\par
+%
+\centerline{\bf Zugvorschlag}
+| \ifmoveone 5 Sf3-g5 5 h7-h6 |
+%
+\postcard(0mm,30mm)
+%
+\end{document}
+\end{verbatim}
+\end{nochess}
+%
+\postcardlanguage{english}
+\finishgametwo
+\par\parskip 0mm
+\newpage
+Ergebnis :\\[5mm]
+\begin{gameone}
+\postmove 24.02.1990 2 c2c4 e7e5 27.02.1990 2
+Englisches System : Andere spielbare Z\"uge |1. : c7-c5 oder 1. : Sg8-f6|
+\postmove 02.03.1990 1 b1c3 g8f6 04.03.1990 1
+\postmove 07.03.1990 2 g1f3 b8c6 11.03.1990 1
+\holidaywhite 7
+\postmove 14.03.1990 9 d2d4 e5e4 28.03.1990 1
+\end{gameone}\par
+%
+\centerline{\bf Zugvorschlag}
+| \ifmoveone 5 Sf3-g5 5 h7-h6 |
+%
+\postcard(0mm,30mm)\par\parskip 3mm\newpage
+%
+Erl\"auterungen :
+\begin{description}
+\item[\bs postcardlanguage\{....\} ]
+Mit diesem Befehl kann die Postkarte in einer anderen Sprache
+gesetzt werden. Zur Zeit enth\"alt BdFCHESS die Definitionen english,
+german und french, aber Erg\"anzungen sind leicht m\"oglich.
+Im vorhergehenden Beispiel ist die Sprache der Notation Deutsch
+(definiert durch das BABEL-System und CHESS.STY) und die
+Postkartensprache ist Englisch.
+\item[Analysen und Kommentare] Der Analysenmodus, ist wie in
+CHESS.STY beschrieben, \"uber den Schalter $\mid$ m\"oglich.
+\item[\bs holidaywhite num, \bs holidayblack num] Dieses Makro
+korrigiert die Gesamtbedenkzeit, wenn sie zwischen Ankunft und
+Abgabe des Zuges Urlaub genommen haben.
+\item[\bs ifmoveone, \bs ifmovetwo] Wenn sie ihrem Schachpartner
+Zugvorschl\"age machen wollen, k\"onnen sie dieses Makro verwenden.
+Es nutzt den Analysenmodus von CHESS.STY, deshalb mu\ss\ der Befehl
+innerhalb des Schalters $\mid$...$\mid$ stehen.
+Die vier Argumente sind - Zugnummer Halbzug Zugnummer Halbzug. Da der
+Befehl die vier Felder nur korrekt einsortiert, mu\ss\ jeder Zug vollst\"andig
+gesetzt werden. Z.B.: $\mid$Sf3-e5, Ke8*f8, Dd1-d8+,Lc1-g5$\mid$ \\
+Ergebnis : |Sf3-e5, Ke8*f8, Dd1-d8+, Lc1-g5|\\
+Und vergessen sie nicht den Leerschlag zwischen dem letzten Argument und $\mid$.\\
+Wenn sie \bs ifmoveone ein zweites Mal aufrufen, werden zwei
+Zugvorschl\"age auf der Karte gesetzt. Bei einem dritten Aufruf
+ist leider nicht mehr genug Platz und die Z\"uge kollidieren mit
+dem Datum. Deshalb mu\ss\ f\"ur weitere Vorschl\"age eine neue \bs moveonebox,
+siehe Kapitel Wenn alles schiefgeht oder \"uber das
+Makro \bs cardmessage auf der Kartenvorderseite gesetzt werden.
+\end{description}
+Verbleibende Befehle :
+\postcardlanguage{german}
+\begin{description}
+\item[\bs acceptmoveone, \bs acceptmovetwo] Akzeptierte Zugvorschl\"age
+m\"ussen auf der Antwortkarte wiederholt werden.
+Dazu dient dieser Befehl. Er arbeitet wie \bs ifmoveone, der Zug wird
+jedoch vor den letzten Zug gesetzt.
+\item[\bs finishgameone, \bs finishgametwo] Wenn eine Partie
+beendet ist, mu\ss\ dieser Befehl aufgerufen werden, damit die
+Partiedaten nicht mehr auf der Postkarte erscheinen.
+\item[\bs tabularheader] Wenn die Zugtabelle \"uber eine Seite geht, kann
+\"uber \bs tabularheader ein neuer Tabellenkopf gesetzt werden.\\
+Ergebnis :\\[3mm]
+\tabularheader
+\item[\bs storeboard\{filename\}] Dieses Makro speichert die aktuelle
+Figurenstellung in einem ASCII-File. Es speichert es als
+\bs begin\{position\} \bs White(....) \bs Black(...) \bs global
+\bs movecount= num \bs global \bs Whitetrue or \bs Whitefalse \bs
+end\{position\}. Das Makro hat zwei Nachteile. Mit BdFCHESS arbeitet es nur
+korrekt innerhalb der Umgebungen game\-one und gametwo (~sonst ist
+movecount=0 und Whitetrue~).
+Es speichert die Position nur jeweils in der aktuellen Notationssprache,
+welche durch das Babel-System gesetzt ist.
+In einem anderen Dokument, das auf die gespeicherten Partien zugreifen soll,
+mu\ss\ deshalb die gleiche Notationsprache verwendet werden (Styles: english,
+french, germanb, dutch).\\
+Ich nutze diese Makro, um einen \"Uberblick \"uber alle meine laufenden
+Partien zu bekommen. Benutzen sie \bs storeboard\{filename\}
+als letzen Befehl vor \bs end\{gameone or gametwo\}. Dann k\"onnen in einem
+anderen Text z.B. 12 Bretter auf einer DIN A4 Seite dargestellt werden.
+\begin{verbatim}
+\documentstyle[a4wide,germanb,chess]{article}
+\textheight 280mm \textwidth 167mm
+\parindent 0pt
+\topmargin -1cm
+\pagestyle{empty}
+%
+% macro \boardwithtext{filename}{text}
+%
+\newcommand{\boardwithtext}[2]{%
+\parbox[t]{55mm}
+{\input #1
+\showboard #2\\
+\ifWhite
+ \advance\movecount by 1
+ Wei\ss , Zugnr. \the\movecount
+ \else Schwarz, Zugnr. \the\movecount
+ \fi
+\vskip 3mm}}
+\begin{document}
+\font\Chess=chess15
+\centerline{\Large Schacher\"offnungen}
+% Spiel 1 - 12
+\boardwithtext{game1.brd}{Englisch {\bf A 27}\\(Holl\"andische Struktur)}
+\boardwithtext{game2.brd}{Alt-Indisch {\bf A 55}}
+\boardwithtext{game3.brd}{Benoni {\bf A 70}\\(Hauptsystem)}\\
+%
+\boardwithtext{game4.brd}{Aljechin Verteidigung {\bf B 03}\\
+(Vierbauernvariante)}
+\boardwithtext{game5.brd}{Holl\"andisch {\bf A 83}\\ (Staunton-Gambit)}
+\boardwithtext{game6.brd}{Pirc-Ufimzew {\bf B 08}}\\
+%
+\boardwithtext{game7.brd}{Caro-Kann {\bf B 11}\\(Zweispringer-Variante)}
+\boardwithtext{game8.brd}{Sizilianisch {\bf B 45}\\(Klassisches System)}
+\boardwithtext{game9.brd}{Franz\"osisch {\bf C 01}\\ (Abtauschvariante)}\\
+%
+\boardwithtext{game10.brd}{Damengambit {\bf D 07}\\(Tschigorin-Verteidigung)}
+\boardwithtext{game11.brd}{Wiener Partie {\bf C 26}}
+\boardwithtext{game12.brd}{Nimzowitschindisch {\bf E 23}}
+\end{document}
+\end{verbatim}
+\end{description}
+\textheight 280mm \textwidth 175mm
+\newpage
+%
+\typeout{Sorry for the pain of your harddisk}
+\typeout{Storing game1.brd - game12.brd as example for macro storeboard...}
+%English
+\begin{position}
+\White(Ta1,Sc3,Lc2,Dd1,Ke1,Lf1,Sf3,Th1,a2,b2,c4,d2,e2,f2,g2,h2)
+\Black(Ta8,Sc6,Lc8,Dd8,Ke8,Lf8,Sg8,Th8,a7,b7,c7,d7,e5,f5,g7,h7)
+\end{position}
+\global\Whitetrue\global\movecount=3
+\storeboard{game1.brd}
+%Old Indian Defence
+\begin{position}
+\White(Ta1,Sc3,Lc1,Dd1,Ke1,Lf1,Sf3,Th1,a2,b2,c4,d4,e4,f2,g2,h2)
+\Black(Ta8,Sd7,Lc8,Dd8,Ke8,Lf8,Sf6,Th8,a7,b7,c7,d6,e5,f7,g7,h7)
+\end{position}
+\global\Whitefalse\global\movecount=5
+\storeboard{game2.brd}
+%Benoni Defence
+\begin{position}
+\White(Ta1,Sc3,Lc1,Da4,Ke1,Lf1,Sf3,Th1,a2,b2,d5,e4,f2,g2,h2)
+\Black(Ta8,Sb8,Lb8,Dd8,Ke8,Lg7,Sf6,Th8,a7,b7,c5,d6,f7,g6,h7)
+\end{position}
+\global\Whitefalse\global\movecount=8
+\storeboard{game3.brd}
+%Aljechin
+\begin{position}
+\White(Ta1,Sb1,Lc1,Dd1,Ke1,Lf1,Sg1,Th1,a2,b2,c4,d4,e5,f2,g2,h2)
+\Black(Ta8,Sb8,Lb8,Dd8,Ke8,Lf8,Sd5,Th8,a7,b7,c7,d6,e7,f7,g7,h7)
+\end{position}
+\global\Whitefalse\global\movecount=4
+\storeboard{game4.brd}
+%Staunton
+\begin{position}
+\White(Ta1,Sc3,Lg5,Dd1,Ke1,Lf1,Sg1,Th1,a2,b2,c2,d4,f2,g2,h2)
+\Black(Ta8,Sb8,Lb8,Dd8,Ke8,Lf8,Sf6,Th8,a7,b7,c7,d7,e7,e4,g7,h7)
+\end{position}
+\global\Whitefalse\global\movecount=4
+\storeboard{game5.brd}
+%Pirc
+\begin{position}
+\White(Ta1,Sc3,Lc1,Dd1,Ke1,Lf1,Sf3,Th1,a2,b2,c2,d4,e4,f2,g2,h2)
+\Black(Ta8,Sb8,Lb8,Dd8,Ke8,Lf8,Sf6,Th8,a7,b7,c7,d6,e7,f7,g6,h7)
+\end{position}
+\global\Whitefalse\global\movecount=4
+\storeboard{game6.brd}
+%Caro-Kann
+\begin{position}
+\White(Ta1,Sc3,Lc1,Dd1,Ke1,Lf1,Sf3,Th1,a2,b2,c2,d2,e4,f2,g2,h2)
+\Black(Ta8,Sb8,Lg4,Dd8,Ke8,Lf8,Sg8,Th8,a7,b7,c6,d5,e7,f7,g7,h7)
+\end{position}
+\global\Whitetrue\global\movecount=3
+\storeboard{game7.brd}
+%Sicilian
+\begin{position}
+\White(Ta1,Sc3,Lc1,Dd1,Ke1,Lf1,Sd4,Th1,a2,b2,c2,e4,f2,g2,h2)
+\Black(Ta8,Sc6,Lb8,Dd8,Ke8,Lf8,Sf6,Th8,a7,b7,d7,e6,f7,g7,h7)
+\end{position}
+\global\Whitetrue\global\movecount=5
+\storeboard{game8.brd}
+%French
+\begin{position}
+\White(Ta1,Sb1,Lc1,Dd1,Ke1,Lf1,Sg1,Th1,a2,b2,c2,d4,d5,f2,g2,h2)
+\Black(Ta8,Sb8,Lb8,Dd8,Ke8,Lf8,Sg8,Th8,a7,b7,c7,e6,f7,g7,h7)
+\end{position}
+\global\Whitefalse\global\movecount=3
+\storeboard{game9.brd}
+%Quenn's Gambit
+\begin{position}
+\White(Ta1,Sb1,Lc1,Dd1,Ke1,Lf1,Sg1,Th1,a2,b2,c4,d4,e2,f2,g2,h2)
+\Black(Ta8,Sc6,Lc8,Dd8,Ke8,Lf8,Sg8,Th8,a7,b7,c7,d5,e7,f7,g7,h7)
+\end{position}
+\global\Whitetrue\global\movecount=2
+\storeboard{game10.brd}
+%Vienna
+\begin{position}
+\White(Ta1,Sc3,Lc1,Dd1,Ke1,Lc4,Sg1,Th1,a2,b2,c2,d2,e4,f2,g2,h2)
+\Black(Ta8,Sb8,Lb8,Dd8,Ke8,Lb4,Sf6,Th8,a7,b7,c7,d7,e5,f7,g7,h7)
+\end{position}
+\global\Whitetrue\global\movecount=3
+\storeboard{game11.brd}
+%Nimzo-Indian
+\begin{position}
+\White(Ta1,Sc3,Lc1,Db3,Ke1,Lf1,Sg1,Th1,a2,b2,c4,c5,e2,f2,g2,h2)
+\Black(Ta8,Sc6,Lb8,Dd8,Ke8,Lb4,Sf6,Th8,a7,b7,d7,e6,f7,g7,h7)
+\end{position}
+\global\Whitetrue\global\movecount=5
+\storeboard{game12.brd}
+%
+%
+%
+\typeout{And reading them again}
+\centerline{\Large Schacher\"offnungen}
+\font\Chess=chess15
+\boardwithtext{game1.brd}{Englische {\bf A 27}\\(Holl\"andische Struktur)}
+\boardwithtext{game2.brd}{Alt-Indisch {\bf A 55}}
+\boardwithtext{game3.brd}{Benoni {\bf A 70}\\(Hauptsystem)}\\
+%
+\boardwithtext{game4.brd}{Aljechin Verteidigung {\bf B 03}\\(Vierbauernvariante)}
+\boardwithtext{game5.brd}{Holl\"andisch {\bf A 83}\\ (Staunton-Gambit)}
+\boardwithtext{game6.brd}{Pirc-Ufimzew {\bf B 08}}\\
+%
+\boardwithtext{game7.brd}{Caro-Kann {\bf B 11}\\(Zweispringer-Variante)}
+\boardwithtext{game8.brd}{Sizilianisch {\bf B 45}\\(Klassisches System)}
+\boardwithtext{game9.brd}{Franz\"osisch {\bf C 01}\\ (Abtauschvariante)}\\
+%
+\boardwithtext{game10.brd}{Damengambit {\bf D 07}\\(Tschigorin-Verteidigung)}
+\boardwithtext{game11.brd}{Wiener Partie {\bf C 26}}
+\boardwithtext{game12.brd}{Nimzowitschindisch {\bf E 23}}
+%
+\font\Chess=chess20
+\textheight 235mm \textwidth 150mm
+\newpage
+%
+Wenn alles schief geht, das Layout der Postkarte mit seinen Makros und Boxen.\\[5mm]
+\small
+\setlength{\unitlength}{1mm}
+\begin{picture}(150,50)\label{layout}
+\put(0,0){\framebox(70,48.5){}}
+\put(6,24){\dashbox(23,23){Brett 1}}
+\put(41,24){\dashbox(23,23){Brett 2}}
+\put(3,12){\dashbox(28,5){\bs moveonebox}}
+\put(3,17){\dashbox(28,5){\bs acceptonebox}}
+\put(38,12){\dashbox(28,5){\bs movetwobox}}
+\put(38,17){\dashbox(28,5){\bs accepttwobox}}
+\put(5,2){\dashbox(23,9){\bs mydatebox}}
+\put(41,4){\dashbox(23,7){\bs yourdatebox}}
+\put(35,1){\dashbox(20,2){}}
+\put(80,0){\framebox(70,48.5){}}
+\put(136,36){\framebox(9,11){}}
+\put(81,1){\dashbox(30,32.5){\bs cardmessage}}
+\put(81,33.5){\dashbox(30,14){\bs sender}}
+\put(116,1){\dashbox(32,32.5){\bs receiver}}
+\end{picture}\par
+\normalsize
+\hskip 2cm \bs postcard(...) \hskip 5cm \bs postcardaddress(...) \\[5mm]
+Wenn sie mit einem Element nicht zufrieden sind, k\"onnen sie es, wie folgt
+(vor \verb+\postcard[..]+) \"andern.\\[2mm]
+ \"Andern des ersten Brettes\\
+\verb+\board{.......} oder \begin{position} ...... \end{position}+\\
+\verb+\savegameone+\\[2mm]
+\"Andern des Inhaltes von Boxen z.B. \bs moveonebox\\
+\verb+\global\setbox\moveonebox=\vbox{..........}+\\[2mm]
+\"Andern von Definitionen\\
+\verb+\gdef\sender{.....}+\\[2mm]
+Aber sie k\"onnen nur den Inhalt und nicht die Position eines Elementes \"andern.\\[1cm]
+F\"ur Fehlermeldungen und Anregungen :\\[1cm]
+Frank Hassel\\
+Im Kirschgarten 14\\
+55286 W\"orrstadt\\
+Germany\\[1cm]
+Und f\"ur die, die auf den Geschmack gekommen sind. Informationen
+zu Fernschachturnieren gibt es beim\\[3mm]
+Deutschen Fernschachbund (BdF)\\
+Postfach 2025\\
+37010 G\"ottingen
+\end{document}
diff --git a/fonts/chess/bdfchess/chess10f.300 b/fonts/chess/bdfchess/chess10f.300
new file mode 100644
index 0000000000..12c0ed455a
--- /dev/null
+++ b/fonts/chess/bdfchess/chess10f.300
Binary files differ
diff --git a/fonts/chess/bdfchess/chess10f.mf b/fonts/chess/bdfchess/chess10f.mf
new file mode 100644
index 0000000000..c54c3eda59
--- /dev/null
+++ b/fonts/chess/bdfchess/chess10f.mf
@@ -0,0 +1,67 @@
+% This is `chess10f.mf' version 1.2 as of 6/91
+% METAfounded by Piet Tutelaers (internet: rcpt@urc.tue.nl)
+% Same font as `chessf10.mf' but knight looks to the right side
+% instead of left side according with the recommation of FIDE
+% Frank Hassel
+% generates a font consisting of chess figurines
+
+mode_setup;
+input chessbase;
+vardef N(expr D, col, row) =
+ clearxy;
+ path knight, ear, eye, nose, mouth, neck;
+ def moved = scaled D shifted (col*D, row*D) enddef;
+
+ pickup thin_pen;
+% the knight's contour
+ z1=(1-.5,.82); z2=(1-.5,.075); z11=(1-.45,.93); z12=(1-.375,.85); z13=(1-.25,.925);
+ z14=(1-.26,.8); z15=(1-.22,.75); z16=(1-.18,.7); z17=(1-.18,.66); z18=(1-.07,.42);
+ z19=(1-.07,.36); z20=(1-.14,.3); z21=(1-.17,.3); z22=(1-.175,.275); z23=(1-.225,.28);
+ z24=(1-.29,.38); z25=(1-.41,.46); z26=(1-.49,.51); z27=(1-.435,.295); z28=(1-.32,.165);
+ z29=(1-.31,y2); z30=(1-.93,y2); z31=(1-.87,.5); z32=(1-.7,.78);
+ knight = ((z1--z11--z12--z13--z14) &
+ (z14..z15..z16..z17..z18..z19..z20..z21) &
+ (z21..z22..z23..z24..z25..z26) &
+ (z26..z27..z28..z29) &
+ (z29--z30) &
+ (z30..z31..z32..z1)& cycle);
+% draw contour of knight
+erase fill knight moved;
+ draw knight moved;
+% draw inner parts
+ z4=(1-.22,.62); z41=(1-.25,.67); z42=(1-.29,.705); z43=(1-.31,.7); z44=(1-.3,.68);
+ eye = (z4..z41..z42..z43 & z43..z44..z4 & cycle);
+ z5=(1-.1,.36); z51=(1-.1,.39); z52=(1-.135,.43); z53=(1-.15,.4); z54=(1-.13,.38);
+ nose = (z5..z51..z52..z53..z54..z5 & cycle);
+ z21'=(1-.2,.34); draw (z21'--z21) moved; %mouth
+ z26'=(1-.54,.63); draw (z26'..z26{z24-z26}) moved; %neck
+ draw (z12--z14) moved; % ear
+ fill eye moved; fill nose moved;
+ enddef;
+
+
+def figurine(expr code) =
+ beginchar(code, d#, 1d#, 0d#);
+ pickup pencircle scaled thin;
+ thin_pen:=savepen ; % for drawing pieces
+ pickup pencircle scaled thick;
+ thick_pen:=savepen; % for drawing inside pieces
+ define_whole_pixels(d);
+ scantokens code(d, 0, -0.08);
+ endchar;
+enddef;
+
+M=1; % number of squares
+d#:=10pt#/M; % size per square
+thin#:=1/3pt#; thick#:=5/6pt#; define_blacker_pixels(thin, thick);
+light=0; dark=1; white=0; black=1;
+background:=light; color:=white;
+
+figurine("K");
+figurine("Q");
+figurine("R");
+figurine("B");
+figurine("N");
+figurine("p");
+
+end;
diff --git a/fonts/chess/bdfchess/chess10f.tfm b/fonts/chess/bdfchess/chess10f.tfm
new file mode 100644
index 0000000000..94e627f937
--- /dev/null
+++ b/fonts/chess/bdfchess/chess10f.tfm
Binary files differ
diff --git a/fonts/chess/bdfchess/chess12.err b/fonts/chess/bdfchess/chess12.err
new file mode 100644
index 0000000000..54bcabf796
--- /dev/null
+++ b/fonts/chess/bdfchess/chess12.err
@@ -0,0 +1,29 @@
+If you want language support there are two little mistakes in
+CHESS.STY 1.2
+French : In FRENCH.STY you must change \setlanguage{french}
+ to \selectlanguage{french} for TeX 3.x
+German : Johannes Braams named his style GERMANB.STY not GERMAN.STY
+ so rename GERMAN.STY of BABEL-SYSTEM to GERMANB.STY.
+ This avoids conflicts with for example GERMAN.STY 2.4a
+ but you must change in CHESS.STY \ifcurrentlanguage{german}
+ to \ifcurrentlanguage{germanb}
+
+If I have metafounded the chess figures in other resolutions or
+with mode=HPDeskJet a peace of the neak of the white knight
+was not drawn. It works correct if you change in the routine
+vardef N(expr D, col, row) of CHESSBAS.MF
+
+ else: erase fill eye moved; erase fill nose moved; fi;
+ z30'=z30 + (-thick#/d#,thick#/d#); pickup thick_pen
+ erase draw (opd(1)..opd(32)..opl(31)..z30') moved; % mane
+ enddef;
+
+into
+
+ else: erase fill eye moved; erase fill nose moved;
+ z30'=z30 + (-thick#/d#,thick#/d#); pickup thick_pen
+ erase draw (opd(1)..opd(32)..opl(31)..z30') moved; % mane
+fi;
+ enddef;
+
+Hope this helps Frank Hassel
diff --git a/fonts/chess/bdfchess/chess15.300 b/fonts/chess/bdfchess/chess15.300
new file mode 100644
index 0000000000..48cbfeaf47
--- /dev/null
+++ b/fonts/chess/bdfchess/chess15.300
Binary files differ
diff --git a/fonts/chess/bdfchess/chess15.mf b/fonts/chess/bdfchess/chess15.mf
new file mode 100644
index 0000000000..9fc917b4c5
--- /dev/null
+++ b/fonts/chess/bdfchess/chess15.mf
@@ -0,0 +1,21 @@
+% This is `chess15.mf' version 1.0 as of 8/90
+% METAfounded by Piet Tutelaers (uucp: rcpt@urc.tue.nl)
+
+% Parameters needed for a 15 points chess font.
+% A complete chess diagram is 120 X 120 points.
+
+mode_setup;
+input chessbase;
+
+M=1; % number of squares
+d#:=15pt#/M; % size per square
+fine#:=1/100*d#; thin#:=1/90*d#; thick#:=1/36*d#; border#:=1/20*d#;
+define_blacker_pixels(fine, thin, thick, border);
+pickup pencircle scaled fine; fine_pen:=savepen ; % for drawing dark squares
+pickup pencircle scaled border; border_pen:=savepen ; % for border ofboard
+pickup pencircle scaled thin; thin_pen:=savepen ; % for drawing pieces
+pickup pencircle scaled thick; thick_pen:=savepen; % for drawing inside pieces
+light=0; dark=1; white=0; black=1;
+
+input chesspieces;
+end;
diff --git a/fonts/chess/bdfchess/chess15.tfm b/fonts/chess/bdfchess/chess15.tfm
new file mode 100644
index 0000000000..a894a4cfba
--- /dev/null
+++ b/fonts/chess/bdfchess/chess15.tfm
Binary files differ
diff --git a/fonts/chess/bdfchess/chesskey.sty b/fonts/chess/bdfchess/chesskey.sty
new file mode 100644
index 0000000000..2454c6f692
--- /dev/null
+++ b/fonts/chess/bdfchess/chesskey.sty
@@ -0,0 +1,1122 @@
+% CHESSKEY.STY Version 1.2
+%
+% Dokumentation in KEYDOC.TEX and TESTKEY.TEX
+%
+% Author Frank Hassel
+% DEZEMBER 1993
+%
+% Eintragungen aus Sergiu Samarian,
+% Internationales Schl\"usselbuch der Schacher\"offnungen,
+% Schachverlag Rudi Schmaus,
+% Rohrbacher Stra\ss e 27,
+% D-69115 Heidelberg
+%
+\input makeidx.sty
+\makeindex
+%
+\newcount\keynum
+%
+\def\@@key#1#2{#1 (#2)\index{#1!#2}}
+%
+\def\@key#1#2#3#4 {%
+%
+\let\last=#4\relax
+\if#1A
+\keynum=#2#3\relax
+\ifcase\keynum
+%
+% A00
+\if#4a \@@key{Unregelm\"a\ss ige Er\"offnungen}{A00}
+\else
+\if#4b \@@key{Sokolski Er\"offnung}{A00}
+\else
+\if#4c \@@key{K\"onigsfianchetto}{A00}\\ ohne \"Ubergang in andere Er\"offnungen
+\else
+unvollst\"andige Definition
+\typeout{A00 a Unregelm\"a\ss ige Eroeffnungen}
+\typeout{A00 b Sokolski Eroeffnung}
+\typeout{A00 c Koenigsfianchetto}
+\fi\fi\fi
+\or % A01
+\@@key{Larsen Er\"offnung}{A01}
+\or % A02
+\if#4a \@@key{Froms Gambit}{A02}
+\else
+\if#4b \@@key{Bird Er\"offnung}{A02}
+\else
+unvollst\"andige Definition
+\typeout{A02a Froms Gambit}
+\typeout{A02b Bird Eroeffnung}
+\fi\fi
+\or % A03
+\@@key{Bird Er\"offnung}{A03}
+\or % A04
+\@@key{Holl\"andisches System}{A04}\\ohne \"Ubergang in andere Systeme
+\or % A05
+\@@key{\"Uberg\"ange in verschiedene Er\"offnungen}{A05}
+\or % A06
+\@@key{Zuckertort Er\"offnung}{A06}
+\or % A07
+\@@key{Barcza-System}{A07}\\mit m\"oglichen \"Uberg\"angen zu anderen Systemen
+\or % A08
+\@@key{K\"onigsindisch im Anzug}{A08}
+\or % A09
+\@@key{Reti Er\"offnung}{A09}
+\or % A10
+\@@key{Abarten von Holl\"andisch, Damenindisch, K\"onigsindisch}{A10}\\ohne d2-d4
+\or % A11
+\@@key{Reti Er\"offnung}{A11}
+\or % A12
+\@@key{Reti Er\"offnung}{A12}\\New Yorker System
+\or % A13
+\@@key{Reti Er\"offnung}{A13}
+\or % A14
+\@@key{Reti Er\"offnung}{A14}
+\or % A15
+\@@key{Englische Er\"offnung}{A15}\\gegen K\"onigsfianchetto\\ohne d2-d4
+\or % A16
+\@@key{Englische Er\"offnung}{A16}
+\or % A17
+\@@key{Englische Er\"offnung}{A17}
+\or % A18
+\@@key{Englische Er\"offnung}{A18}
+\or % A19
+\@@key{Englische Er\"offnung}{A19}
+\or % A20
+\@@key{Englische Er\"offnung}{A20}
+\or % A21
+\@@key{Englische Er\"offnung}{A21}
+\or % A22
+\@@key{Englische Er\"offnung}{A22}
+\or % A23
+\@@key{Englische Er\"offnung}{A23}
+\or % A24
+\@@key{Englische Er\"offnung}{A24}
+\or % A25
+\@@key{Englische Er\"offnung}{A25}\\Sizilianisch im Anzug
+\or % A26
+\@@key{Englische Er\"offnung}{A26}\\Sizilianisch im Anzug
+\or % A27
+\@@key{Englische Er\"offnung}{A27}\\Holl\"andische Struktur
+\or % A28
+\@@key{Englische Er\"offnung}{A28}\\Vierspringer Variante
+\or % A29
+\@@key{Englische Er\"offnung}{A29}\\Vierspringer Variante
+\or % A30
+\@@key{Englische Er\"offnung}{A30}\\Symmetrische Variante
+\or % A31
+\@@key{Englische Er\"offnung}{A31}\\Symmetrische Variante
+\or % A32
+\@@key{Englische Er\"offnung}{A32}\\Symmetrische Variante
+\or % A33
+\@@key{Englische Er\"offnung}{A33}\\Symmetrische Variante
+\or % A34
+\@@key{Englische Er\"offnung}{A34}\\Symmetrische Variante
+\or % A35
+\@@key{Englische Er\"offnung}{A35}\\Symmetrische Variante
+\or % A36
+\@@key{Englische Er\"offnung}{A36}\\Botwinnik Variante
+\or % A37
+\@@key{Englische Er\"offnung}{A37}\\Symmetrische Variante
+\or % A38
+\@@key{Englische Er\"offnung}{A38}\\Symmetrische Variante
+\or % A39
+\@@key{Englische Er\"offnung}{A39}\\Symmetrische Variante
+\or % A40
+\if#4a \@@key{Englund Gambit}{A40}
+\else
+\if#4b \@@key{Verschiedene Antworten auf 1.~d4}{A40}
+\else
+unvollst\"andige Definition
+\typeout{A40a Englund Gambit}
+\typeout{A40b Verschiedene Antworten auf 1. d4}
+\fi\fi
+\or % A41
+\@@key{Moderne Verteidigung}{A41}\\gegen d4 mit oder ohne sp\"aterem e2-e4 und {\Fig N}f6
+\or % A42
+\@@key{Moderne Verteidigung}{A42}\\mit c2-c4 ohne {\Fig N}f6
+\or % A43
+\@@key{Alt Benoni}{A43}
+\or % A44
+\@@key{Alt Benoni}{A44}
+\or % A45
+\@@key{Damenbauernspiel}{A45}\\Trompowski Angriff
+\or % A46
+\@@key{Damenbauernspiel}{A46}
+\or % A47
+\@@key{Damenindisch}{A47}\\ohne c2-c4
+\or % A48
+\@@key{K\"onigsindisch}{A48}\\ohne c2-c4
+\or % A49
+\@@key{K\"onigsindisch}{A49}\\ohne c2-c4
+\or % A50
+\@@key{Damenindisch}{A50}\\ohne e7-e6
+\or % A51
+\@@key{Budapester Gambit}{A51}\\Fajarowicz Variante
+\or % A52
+\@@key{Budapester Gambit}{A52}\\Hauptvariante
+\or % A53
+\@@key{Alt-Indisch}{A53}
+\or % A54
+\@@key{Alt-Indisch}{A54}
+\or % A55
+\@@key{Alt-Indisch}{A55}
+\or % A56
+\@@key{Alt-Indisch}{A56}
+\or % A57
+\@@key{Wolga/Benk\"o-Gambit}{A57}
+\or % A58
+\@@key{Wolga/Benk\"o-Gambit}{A58}
+\or % A59
+\@@key{Wolga/Benk\"o-Gambit}{A59}
+\or % A60
+\@@key{Benoni Verteidigung}{A60}
+\or % A61
+\@@key{Benoni Verteidigung}{A61}
+\or % A62
+\@@key{Benoni Verteidigung}{A62}\\7. g3
+\or % A63
+\@@key{Benoni Verteidigung}{A63}\\7. g3
+\or % A64
+\@@key{Benoni Verteidigung}{A64}\\7. g3
+\or % A65
+\@@key{Benoni Verteidigung}{A65}
+\or % A66
+\@@key{Benoni Verteidigung}{A66}\\Der zentrale Angriff
+\or % A67
+\@@key{Benoni Verteidigung}{A67}\\Dreibauern-System
+\or % A68
+\@@key{Benoni Verteidigung}{A68}\\Dreibauern-System
+\or % A69
+\@@key{Benoni Verteidigung}{A69}\\Dreibauern-System
+\or % A70
+\@@key{Benoni Verteidigung}{A70}\\Hauptsystem
+\or % A71
+\@@key{Benoni Verteidigung}{A71}\\Hauptsystem mit 8. {\Fig B}g5
+\or % A72
+\@@key{Benoni Verteidigung}{A72}\\Hauptsystem mit 9. {\Fig B}g5
+\or % A73
+\@@key{Benoni Verteidigung}{A73}\\Hauptsystem
+\or % A74
+\@@key{Benoni Verteidigung}{A74}\\Hauptsystem
+\or % A75
+\@@key{Benoni Verteidigung}{A75}\\Hauptsystem
+\or % A76
+\@@key{Benoni Verteidigung}{A76}\\Hauptsystem
+\or % A77
+\@@key{Benoni Verteidigung}{A77}\\Hauptsystem
+\or % A78
+\@@key{Benoni Verteidigung}{A78}\\Hauptsystem
+\or % A79
+\@@key{Benoni Verteidigung}{A79}\\Hauptsystem
+\or % A80
+\@@key{Holl\"andische Verteidigung}{A80}
+\or % A81
+\@@key{Holl\"andische Verteidigung}{A81}\\Leningrader Variante
+\or % A82
+\@@key{Holl\"andische Verteidigung}{A82}\\Staunton Gambit
+\or % A83
+\@@key{Holl\"andische Verteidigung}{A83}\\Staunton Gambit
+\or % A84
+\@@key{Holl\"andische Verteidigung}{A84}
+\or % A85
+\@@key{Holl\"andische Verteidigung}{A85}
+\or % A86
+\@@key{Holl\"andische Verteidigung}{A86}\\Leningrader Variante mit {\Fig N}h3
+\or % A87
+\@@key{Holl\"andische Verteidigung}{A87}\\Leningrader Variante
+\or % A88
+\@@key{Holl\"andische Verteidigung}{A88}\\Leningrader Variante
+\or % A89
+\@@key{Holl\"andische Verteidigung}{A89}\\Leningrader Variante
+\or % A90
+\@@key{Holl\"andische Verteidigung}{A90}\\Klassisches System, Stonewall und Varianten mit {\Fig L}b4
+\or % A91
+\@@key{Holl\"andische Verteidigung}{A91}\\Klassisches System, Abweichungen
+\or % A92
+\@@key{Holl\"andische Verteidigung}{A92}\\Stonewall
+\or % A93
+\@@key{Holl\"andische Verteidigung}{A93}\\Stonewall
+\or % A94
+\@@key{Holl\"andische Verteidigung}{A94}\\Stonewall
+\or % A95
+\@@key{Holl\"andische Verteidigung}{A95}\\Stonewall
+\or % A96
+\@@key{Holl\"andische Verteidigung}{A96}\\Hauptvariante
+\or % A97
+\@@key{Holl\"andische Verteidigung}{A97}\\Hauptvariante
+\or % A98
+\@@key{Holl\"andische Verteidigung}{A98}\\Hauptvariante
+\or % A99
+\@@key{Holl\"andische Verteidigung}{A99}\\Hauptvariante
+\fi %\ifcase
+\fi %\if A
+%
+%
+%
+\if#1B
+\keynum=#2#3\relax
+\ifcase\keynum
+%
+% B00
+\if#4a \@@key{Damenfianchetto}{B00}
+\else
+\if#4b \@@key{Nimzowitsch Verteidigung}{B00}
+\else
+Unvollst\"andige Definition
+\typeout{B00a Damenfianchetto}
+\typeout{B00b Nimzowitsch Verteidigung}
+\fi\fi
+\or % B01
+\@@key{Skandinavische Verteidigung}{B01}
+\or % B02
+\@@key{Aljechin Verteidigung}{B02}\\Jagdvariante
+\or % B03
+\@@key{Aljechin Verteidigung}{B03}\\Vierbauernattacke
+\or % B04
+\@@key{Aljechin Verteidigung}{B04}\\Moderne Variante
+\or % B05
+\@@key{Aljechin Verteidigung}{B05}\\Moderne Variante
+\or % B06
+\@@key{Moderne Verteidigung}{B06}
+\or % B07
+\@@key{Pirc-Ufimzew Verteidigung}{B07}
+\or % B08
+\@@key{Pirc-Ufimzew Verteidigung}{B08}
+\or % B09
+\@@key{Pirc-Ufimzew Verteidigung}{B09}\\Dreibauernangriff
+\or % B10
+\@@key{Caro-Kann Verteidigung}{B10}
+\or % B11
+\@@key{Caro-Kann Verteidigung}{B11}\\Zweispringer Variante
+\or % B12
+\@@key{Caro-Kann Verteidigung}{B12}\\Vorsto\ss\ Variante
+\or % B13
+\@@key{Caro-Kann Verteidigung}{B13}\\Abtausch Variante; 4.~c4
+\or % B14
+\@@key{Caro-Kann Verteidigung}{B14}\\Panow Angriff
+\or % B15
+\@@key{Caro-Kann Verteidigung}{B15}\\Flohr Variante
+\or % B16
+\@@key{Caro-Kann Verteidigung}{B16}\\Nimzowitsch Variante
+\or % B17
+\@@key{Caro-Kann Verteidigung}{B17}
+\or % B18
+\@@key{Caro-Kann Verteidigung}{B18}\\Hauptvariante
+\or % B19
+\@@key{Caro-Kann Verteidigung}{B19}\\Hauptvariante
+\or % B20
+\if#4a \@@key{Sizilianisch}{B20}\\Fl\"ugelgambit
+\else
+\if#4b \@@key{Sizilianisch}{B20}\\Seltene Z\"uge
+\else
+Unvollst\"andige Definition
+\typeout{B20a Sizilianisch Fluegelgambit}
+\typeout{B20b Sizilianisch Seltene Zuege}
+\fi\fi
+\or % B21
+\if#4a \@@key{Sizilianisch}{B21}
+\else
+\if#4b \@@key{Morra Gambit}{B21}
+\else
+Unvollst\"andige Definition
+\typeout{B21a Sizilianisch}
+\typeout{B21b Morra Gambit}
+\fi\fi
+\or % B22
+\@@key{Sizilianisch}{B22}\\Alapin Variante
+\or % B23
+\@@key{Sizilianisch}{B23}\\Geschlossenes System
+\or % B24
+\@@key{Sizilianisch}{B24}\\Geschlossenes System
+\or % B25
+\@@key{Sizilianisch}{B25}\\Geschlossenes System
+\or % B26
+\@@key{Sizilianisch}{B26}\\Geschlossenes System
+\or % B27
+\@@key{Sizilianisch}{B27}\\Fr\"uhes Fianchetto
+\or % B28
+\@@key{Sizilianisch}{B28}\\Fr\"uhes a7-a6
+\or % B29
+\@@key{Sizilianisch}{B29}\\Rubinstein Variante
+\or % B30
+\@@key{Sizilianisch}{B30}\\Rossolimo Variante
+\or % B31
+\@@key{Sizilianisch}{B31}\\Rossolimo Variante
+\or % B32
+\@@key{Sizilianisch}{B32}\\L\"owenthal Variante
+\or % B33
+\@@key{Sizilianisch}{B33}\\Lasker/Pelikan/Sweschnikow Variante
+\or % B34
+\@@key{Sizilianisch}{B34}\\Beschleunigtes Fianchetto
+\or % B35
+\@@key{Sizilianisch}{B35}\\Beschleunigtes Fianchetto
+\or % B36
+\@@key{Sizilianisch}{B36}\\Maroczy Aufbau
+\or % B37
+\@@key{Sizilianisch}{B37}\\Maroczy Aufbau
+\or % B38
+\@@key{Sizilianisch}{B38}\\Maroczy Aufbau
+\or % B39
+\@@key{Sizilianisch}{B39}\\Maroczy Aufbau
+\or % B40
+\@@key{Sizilianisch}{B40}\\Klassisches System mit e7-e6
+\or % B41
+\@@key{Sizilianisch}{B41}\\Paulsen Variante
+\or % B42
+\@@key{Sizilianisch}{B42}\\Paulsen Variante
+\or % B43
+\@@key{Sizilianisch}{B43}\\Paulsen Variante
+\or % B44
+\@@key{Sizilianisch}{B44}\\Paulsen/Taimanow Variante
+\or % B45
+\@@key{Sizilianisch}{B45}\\Klassisches System
+\or % B46
+\@@key{Sizilianisch}{B46}\\Paulsen/Taimanow Variante
+\or % B47
+\@@key{Sizilianisch}{B47}\\Paulsen/Taimanow Variante
+\or % B48
+\@@key{Sizilianisch}{B48}\\Paulsen Variante
+\or % B49
+\@@key{Sizilianisch}{B49}\\Paulsen Variante
+\or % B50
+\@@key{Sizilianisch}{B50}\\Verschiedenes mit 2. $\ldots$,d6
+\or % B51
+\@@key{Sizilianisch}{B51}\\Rossolimo Variante
+\or % B52
+\@@key{Sizilianisch}{B52}\\Rossolimo Variante
+\or % B53
+\@@key{Sizilianisch}{B53}\\Ungarische Variante
+\or % B54
+\@@key{Sizilianisch}{B54}\\Rauser Anti-Drachen Variante
+\or % B55
+\@@key{Sizilianisch}{B55}\\Rauser Anti-Drachen Variante
+\or % B56
+\@@key{Sizilianisch}{B56}\\Abweichungen von Sosin- und Richter/Rauser Variante
+\or % B57
+\@@key{Sizilianisch}{B57}\\Sosin Variante
+\or % B58
+\@@key{Sizilianisch}{B58}\\Boleslawski Variante
+\or % B59
+\@@key{Sizilianisch}{B59}\\Boleslawski Variante
+\or % B60
+\@@key{Sizilianisch}{B60}\\Richter/Rauser Angriff
+\or % B61
+\@@key{Sizilianisch}{B61}\\Richter/Rauser Angriff
+\or % B62
+\@@key{Sizilianisch}{B62}\\Richter/Rauser Angriff
+\or % B63
+\@@key{Sizilianisch}{B63}\\Richter/Rauser Angriff
+\or % B64
+\@@key{Sizilianisch}{B64}\\Richter/Rauser Angriff
+\or % B65
+\@@key{Sizilianisch}{B65}\\Richter/Rauser Angriff
+\or % B66
+\@@key{Sizilianisch}{B66}\\Richter/Rauser Angriff
+\or % B67
+\@@key{Sizilianisch}{B67}\\Richter/Rauser Angriff
+\or % B68
+\@@key{Sizilianisch}{B68}\\Richter/Rauser Angriff
+\or % B69
+\@@key{Sizilianisch}{B69}\\Richter/Rauser Angriff
+\or % B70
+\@@key{Sizilianisch}{B70}\\Drachen Variante
+\or % B71
+\@@key{Sizilianisch}{B71}\\Drachen Variante
+\or % B72
+\@@key{Sizilianisch}{B72}\\Drachen Variante
+\or % B73
+\@@key{Sizilianisch}{B73}\\Drachen Variante
+\or % B74
+\@@key{Sizilianisch}{B74}\\Drachen Variante
+\or % B75
+\@@key{Sizilianisch}{B75}\\Moderne Drachen Variante
+\or % B76
+\@@key{Sizilianisch}{B76}\\Moderne Drachen Variante
+\or % B77
+\@@key{Sizilianisch}{B77}\\Moderne Drachen Variante
+\or % B78
+\@@key{Sizilianisch}{B78}\\Moderne Drachen Variante
+\or % B79
+\@@key{Sizilianisch}{B79}\\Moderne Drachen Variante
+\or % B80
+\@@key{Sizilianisch}{B80}\\Scheveninger System
+\or % B81
+\@@key{Sizilianisch}{B81}\\Keres Angriff
+\or % B82
+\@@key{Sizilianisch}{B82}\\Scheveninger System
+\or % B83
+\@@key{Sizilianisch}{B83}\\Scheveninger System
+\or % B84
+\@@key{Sizilianisch}{B84}\\Scheveninger System
+\or % B85
+\@@key{Sizilianisch}{B85}\\Scheveninger System
+\or % B86
+\@@key{Sizilianisch}{B86}\\Sosin Angriff
+\or % B87
+\@@key{Sizilianisch}{B87}\\Sosin Angriff
+\or % B88
+\@@key{Sizilianisch}{B88}\\Sosin Angriff
+\or % B89
+\@@key{Sizilianisch}{B89}\\Sosin Angriff
+\or % B90
+\@@key{Sizilianisch}{B90}\\Najdorf Variante, Abweichungen
+\or % B91
+\@@key{Sizilianisch}{B91}\\Najdorf Variante mit 6.~g3
+\or % B92
+\@@key{Sizilianisch}{B92}\\Najdorf Variante mit 6.~{\Fig B}e2
+\or % B93
+\@@key{Sizilianisch}{B93}\\Najdorf Variante mit 6.~f4
+\or % B94
+\@@key{Sizilianisch}{B94}\\Najdorf Variante mit 6.~{\Fig B}g5
+\or % B95
+\@@key{Sizilianisch}{B95}\\Najdorf Variante mit 6.~{\Fig B}g5
+\or % B96
+\@@key{Sizilianisch}{B96}\\Najdorf Variante
+\or % B97
+\@@key{Sizilianisch}{B97}\\Najdorf Variante
+\or % B98
+\@@key{Sizilianisch}{B98}\\Najdorf Variante
+\or % B99
+\@@key{Sizilianisch}{B99}\\Najdorf Variante
+\fi %\ifcase
+\fi %\if B
+%
+%
+%
+\if#1C
+\keynum=#2#3\relax
+\ifcase\keynum
+%
+% C00
+\@@key{Franz\"osische Verteidigung}{C00}\\Seltene Z\"uge
+\or % C01
+\@@key{Franz\"osische Verteidigung}{C01}\\Abtauschvariante
+\or % C02
+\@@key{Franz\"osische Verteidigung}{C02}\\Tarrasch Variante
+\or % C03
+\@@key{Franz\"osische Verteidigung}{C03}\\Tarrasch Variante
+\or % C04
+\@@key{Franz\"osische Verteidigung}{C04}\\Tarrasch Variante
+\or % C05
+\@@key{Franz\"osische Verteidigung}{C05}\\Tarrasch Variante
+\or % C06
+\@@key{Franz\"osische Verteidigung}{C06}\\Tarrasch Variante
+\or % C07
+\@@key{Franz\"osische Verteidigung}{C07}\\Tarrasch Variante
+\or % C08
+\@@key{Franz\"osische Verteidigung}{C08}\\Tarrasch Variante
+\or % C09
+\@@key{Franz\"osische Verteidigung}{C09}\\Tarrasch Variante
+\or % C10
+\@@key{Franz\"osische Verteidigung}{C10}\\Rubinstein Variante
+\or % C11
+\@@key{Franz\"osische Verteidigung}{C11}
+\or % C12
+\@@key{Franz\"osische Verteidigung}{C12}\\MacCutcheon Variante
+\or % C13
+\@@key{Franz\"osische Verteidigung}{C13}\\Klassisches System
+\or % C14
+\@@key{Franz\"osische Verteidigung}{C14}\\Klassische Hauptvariante
+\or % C15
+\@@key{Franz\"osische Verteidigung}{C15}\\Nimzowitsch Variante
+\or % C16
+\@@key{Franz\"osische Verteidigung}{C16}\\Nimzowitsch Variante
+\or % C17
+\@@key{Franz\"osische Verteidigung}{C17}\\Nimzowitsch Variante
+\or % C18
+\@@key{Franz\"osische Verteidigung}{C18}\\Nimzowitsch Variante
+\or % C19
+\@@key{Franz\"osische Verteidigung}{C19}\\Nimzowitsch Variante
+\or % C20
+\@@key{Seltene Z\"uge}{C20}
+\or % C21
+\@@key{Nordisches Gambit}{C21}
+\or % C22
+\@@key{Mittelgambit}{C22}
+\or % C23
+\@@key{L\"auferspiel}{C23}
+\or % C24
+\@@key{L\"auferspiel}{C24}
+\or % C25
+\@@key{Wiener Partie}{C25}
+\or % C26
+\@@key{Wiener Partie}{C26}
+\or % C27
+\@@key{Wiener Partie}{C27}
+\or % C28
+\@@key{Wiener Partie}{C28}
+\or % C29
+\@@key{Wiener Partie}{C29}
+\or % C30
+\@@key{K\"onigsgambit}{C30}\\Abgelehntes
+\or % C31
+\@@key{Falkbeer Gegengambit}{C31}
+\or % C32
+\@@key{Falkbeer Gegengambit}{C32}
+\or % C33
+\@@key{K\"onigsl\"aufer Gambit}{C33}
+\or % C34
+\@@key{K\"onigsspringer Gambit}{C34}
+\or % C35
+\@@key{Cunningham Gambit}{C35}
+\or % C36
+\@@key{K\"onigsgambit}{C36}\\Moderne Variante
+\or % C37
+\@@key{K\"onigsspringer Gambit}{C37}\\Muzio
+\or % C38
+\@@key{K\"onigsspringer Gambit}{C38}\\Greco und Philidor
+\or % C39
+\@@key{K\"onigsspringer Gambit}{C39}\\Allgaier, Kieseritzky
+\or % C40
+\@@key{Lettisches Gambit}{C40}
+\or % C41
+\@@key{Philidor Verteidigung}{C41}
+\or % C42
+\@@key{Russische Verteidigung}{C42}\\Petrow
+\or % C43
+\@@key{Russische Verteidigung}{C43}\\Petrow
+\or % C44
+\@@key{Schottisches Gambit}{C44}
+\or % C45
+\@@key{Schottische Partie}{C45}
+\or % C46
+\@@key{Vierspringerspiel}{C46}\\Seltene Z\"uge
+\or % C47
+\@@key{Schottisches Vierspringerspiel}{C47}
+\or % C48
+\@@key{Vierspringerspiel}{C48}\\Rubinstein Variante
+\or % C49
+\@@key{Vierspringerspiel}{C49}\\Symmetrische Variante
+\or % C50
+\@@key{Italienische Partie}{C50}
+\or % C51
+\@@key{Evans Gambit}{C51}
+\or % C52
+\@@key{Evans Gambit}{C52}\\Hauptvariante
+\or % C53
+\@@key{Italienische Partie}{C53}
+\or % C54
+\@@key{Italienische Partie}{C54}\\Hauptvariante
+\or % C55
+\@@key{Zweispringerspiel}{C55}
+\or % C56
+\@@key{Zweispringerspiel}{C56}
+\or % C57
+\@@key{Zweispringerspiel}{C57}\\Fritz Variante
+\or % C58
+\@@key{Zweispringerspiel}{C58}\\Klassisches System
+\or % C59
+\@@key{Zweispringerspiel}{C59}\\Klassisches System
+\or % C60
+\@@key{Spanische Partie}{C60}
+\or % C61
+\@@key{Spanische Partie}{C61}\\Bird Verteidigung
+\or % C62
+\@@key{Spanische Partie}{C62}\\Steinitz Verteidigung
+\or % C63
+\@@key{Spanische Partie}{C63}\\J\"anisch Gambit
+\or % C64
+\@@key{Spanische Partie}{C64}\\Cordel Verteidigung
+\or % C65
+\@@key{Spanische Partie}{C65}\\Berliner Verteidigung
+\or % C66
+\@@key{Spanische Partie}{C66}\\Verbesserte Steinitz Verteidigung
+\or % C67
+\@@key{Spanische Partie}{C67}\\Rio de Janeiro Variante
+\or % C68
+\@@key{Spanische Partie}{C68}\\Abtauschvariante
+\or % C69
+\@@key{Spanische Partie}{C69}\\Abtauschvariante
+\or % C70
+\@@key{Spanische Partie}{C70}\\Abweichungen im 4.~Zug
+\or % C71
+\@@key{Spanische Partie}{C71}\\Moderne Steinitz Variante
+\or % C72
+\@@key{Spanische Partie}{C72}\\Moderne Steinitz Variante
+\or % C73
+\@@key{Spanische Partie}{C73}\\Moderne Steinitz Variante
+\or % C74
+\@@key{Spanische Partie}{C74}\\Moderne Steinitz Variante
+\or % C75
+\@@key{Spanische Partie}{C75}\\Moderne Steinitz Variante
+\or % C76
+\@@key{Spanische Partie}{C76}\\Moderne Steinitz Variante
+\or % C77
+\@@key{Spanische Partie}{C77}\\Anderssen Variante
+\or % C78
+\@@key{Spanische Partie}{C78}\\Archanglesk und M\"oller Variante
+\or % C79
+\@@key{Spanische Partie}{C79}\\Russische Variante
+\or % C80
+\@@key{Spanische Partie}{C80}\\Offene Verteidigung
+\or % C81
+\@@key{Spanische Partie}{C81}\\Offene Verteidigung\\Keres System
+\or % C82
+\@@key{Spanische Partie}{C82}\\Offene Verteidigung\\Italienische Variante
+\or % C83
+\@@key{Spanische Partie}{C83}\\Offene Verteidigung\\Hauptvariante
+\or % C84
+\@@key{Spanische Partie}{C84}\\Mittelgambit
+\or % C85
+\@@key{Spanische Partie}{C85}\\Steenwijker Variante
+\or % C86
+\@@key{Spanische Partie}{C86}\\Englischer Angriff
+\or % C87
+\@@key{Spanische Partie}{C87}\\Russische Variante mit Zugumstellung
+\or % C88
+\@@key{Spanische Partie}{C88}\\Geschlossenes System
+\or % C89
+\@@key{Spanische Partie}{C89}\\Marshall Angriff
+\or % C90
+\@@key{Spanische Partie}{C90}\\Abweichungen von der Hauptvariante
+\or % C91
+\@@key{Spanische Partie}{C91}\\Abweichungen von der Hauptvariante
+\or % C92
+\@@key{Spanische Partie}{C92}\\Tschigorin Variante
+\or % C93
+\@@key{Spanische Partie}{C93}\\Smyslow Variante
+\or % C94
+\@@key{Spanische Partie}{C94}\\Breyer Variante
+\or % C95
+\@@key{Spanische Partie}{C95}\\Breyer Variante
+\or % C96
+\if#4a \@@key{Spanische Partie}{C96}\\Abweichungen vom Tschigorin System
+\else
+\if#4b \@@key{Spanische Partie}{C96}\\Panow Variante
+\else
+unvollst\"andige Definition
+\typeout{C96a Spanische Partie Abw. vom Tschigorin System}
+\typeout{C96b Spanische Partie Panow Variante}
+\fi\fi
+\or % C97
+\@@key{Spanische Partie}{C97}\\Tschigorin System
+\or % C98
+\@@key{Spanische Partie}{C98}\\Tschigorin System
+\or % C99
+\@@key{Spanische Partie}{C99}\\Tschigorin System
+\fi %\ifcase
+\fi %\if C
+%
+%
+%
+\if#1D
+\keynum=#2#3\relax
+\ifcase\keynum
+%
+% D00
+\@@key{Damenbauernspiel}{D00}
+\or % D01
+\@@key{Damenbauernspiel}{D01}\\Richter-Weressow
+\or % D02
+\@@key{Damenbauernspiel}{D02}
+\or % D03
+\@@key{Damenbauernspiel}{D03}
+\or % D04
+\@@key{Damenbauernspiel}{D04}
+\or % D05
+\@@key{Damenbauernspiel}{D05}\\Colle Aufbau
+\or % D06
+\@@key{Damengambit}{D06}\\Seltene Z\"uge
+\or % D07
+\@@key{Damengambit}{D07}\\Tschigorin Verteidigung
+\or % D08
+\@@key{Albins Gegengambit}{D08}
+\or % D09
+\@@key{Albins Gegengambit}{D09}
+\or % D10
+\@@key{Damengambit}{D10}\\Slawische Verteidigung
+\or % D11
+\@@key{Damengambit}{D11}\\Slawische Verteidigung
+\or % D12
+\@@key{Damengambit}{D12}\\Slawische Verteidigung
+\or % D13
+\@@key{Damengambit}{D13}\\Slawische Verteidigung\\Abtauschvariante
+\or % D14
+\@@key{Damengambit}{D14}\\Slawische Verteidigung\\Abtauschvariante
+\or % D15
+\@@key{Damengambit}{D15}\\Slawische Verteidigung
+\or % D16
+\@@key{Damengambit}{D16}\\Slawische Verteidigung\\Lasker/Smyslow Variante
+\or % D17
+\@@key{Damengambit}{D17}\\Slawische Verteidigung
+\or % D18
+\@@key{Damengambit}{D18}\\Slawische Verteidigung\\Hauptvariante
+\or % D19
+\@@key{Damengambit}{D19}\\Slawische Verteidigung\\Hauptvariante
+\or % D20
+\@@key{Angenommenes Damengambit}{D20}
+\or % D21
+\@@key{Angenommenes Damengambit}{D21}
+\or % D22
+\@@key{Angenommenes Damengambit}{D22}
+\or % D23
+\@@key{Angenommenes Damengambit}{D23}
+\or % D24
+\@@key{Angenommenes Damengambit}{D24}
+\or % D25
+\@@key{Angenommenes Damengambit}{D25}
+\or % D26
+\@@key{Angenommenes Damengambit}{D26}
+\or % D27
+\@@key{Angenommenes Damengambit}{D27}
+\or % D28
+\@@key{Angenommenes Damengambit}{D28}
+\or % D29
+\@@key{Angenommenes Damengambit}{D29}
+\or % D30
+\@@key{Damengambit}{D30}\\ohne {\Fig N}c3
+\or % D31
+\@@key{Damengambit}{D31}\\Halbslawisch
+\or % D32
+\@@key{Damengambit}{D32}\\Tarrasch Verteidigung
+\or % D33
+\@@key{Damengambit}{D33}\\Tarrasch Verteidigung
+\or % D34
+\@@key{Damengambit}{D34}\\Tarrasch Verteidigung\\Hauptvariante
+\or % D35
+\@@key{Damengambit}{D35}\\Abtauschvariante
+\or % D36
+\@@key{Damengambit}{D36}\\Abtauschvariante
+\or % D37
+\@@key{Damengambit}{D37}\\5.~{\Fig B}f4
+\or % D38
+\@@key{Damengambit}{D38}\\Ragosin Verteidigung
+\or % D39
+\@@key{Damengambit}{D39}\\Ragosin Verteidigung
+\or % D40
+\@@key{Damengambit}{D40}\\Verbesserte Tarrasch Verteidigung
+\or % D41
+\@@key{Damengambit}{D41}Verbesserte Tarrasch Verteidigung
+\or % D42
+\@@key{Damengambit}{D42}Verbesserte Tarrasch Verteidigung
+\or % D43
+\@@key{Damengambit}{D43}\\Botwinnik Variante
+\or % D44
+\@@key{Damengambit}{D44}\\Botwinnik Variante
+\or % D45
+\@@key{Damengambit}{D45}\\Anti Meraner Varianten
+\or % D46
+\@@key{Damengambit}{D46}\\Halbslawisch
+\or % D47
+\@@key{Damengambit}{D47}\\Meraner Variante
+\or % D48
+\@@key{Damengambit}{D48}\\Meraner Variante
+\or % D49
+\@@key{Damengambit}{D49}\\Meraner Variante
+\or % D50
+\@@key{Damengambit}{D50}\\Canal/Prins Gambit
+\or % D51
+\@@key{Damengambit}{D51}\\Cambridge-Springs Variante
+\or % D52
+\@@key{Damengambit}{D52}\\Cambridge-Springs Variante
+\or % D53
+\@@key{Damengambit}{D53}\\Hauptvariante - Abweichungen
+\or % D54
+\@@key{Damengambit}{D54}\\Hauptvariante - Abweichungen
+\or % D55
+\@@key{Damengambit}{D55}\\Hauptvariante - Abweichungen
+\or % D56
+\@@key{Damengambit}{D56}\\Moderne Lasker Verteidigung
+\or % D57
+\@@key{Damengambit}{D57}\\Moderne Lasker Verteidigung
+\or % D58
+\@@key{Damengambit}{D58}\\Tartakower Variante
+\or % D59
+\@@key{Damengambit}{D59}\\Tartakower Variante
+\or % D60
+\@@key{Damengambit}{D60}\\Hauptvariante
+\or % D61
+\@@key{Damengambit}{D61}\\Hauptvariante mit 7.~{\Fig Q}c2
+\or % D62
+\@@key{Damengambit}{D62}\\Hauptvariante mit 7.~{\Fig Q}c2
+\or % D63
+\@@key{Damengambit}{D63}\\Hauptvariante mit 7.~{\Fig R}c1
+\or % D64
+\@@key{Damengambit}{D64}\\Tempokampf Variante
+\or % D65
+\@@key{Damengambit}{D65}\\Tempokampf Variante
+\or % D66
+\@@key{Damengambit}{D66}Hauptvariante\\Erweitertes Fianchetto
+\or % D67
+\@@key{Damengambit}{D67}Hauptvariante\\Capablancas Entlastungsman\"over
+\or % D68
+\@@key{Damengambit}{D68}Hauptvariante\\Capablancas Entlastungsman\"over
+\or % D69
+\@@key{Damengambit}{D69}Hauptvariante\\Capablancas Entlastungsman\"over
+\or % D70
+\@@key{Gr\"unfeld Verteidigung}{D70}\\Abweichungen im 3.~Zug
+\or % D71
+\@@key{Gr\"unfeld Verteidigung}{D71}\\3.~g3
+\or % D72
+\@@key{Gr\"unfeld Verteidigung}{D72}\\3.~g3
+\or % D73
+\@@key{Gr\"unfeld Verteidigung}{D73}\\3.~g3
+\or % D74
+\@@key{Gr\"unfeld Verteidigung}{D74}\\3.~g3
+\or % D75
+\@@key{Gr\"unfeld Verteidigung}{D75}\\3.~g3
+\or % D76
+\@@key{Gr\"unfeld Verteidigung}{D76}\\3.~g3
+\or % D77
+\@@key{Gr\"unfeld Verteidigung}{D77}\\3.~g3
+\or % D78
+\@@key{Gr\"unfeld Verteidigung}{D78}\\3.~g3
+\or % D79
+\@@key{Gr\"unfeld Verteidigung}{D79}\\3.~g3
+\or % D80
+\@@key{Gr\"unfeld Verteidigung}{D80}\\4.~{\Fig B}g5
+\or % D81
+\@@key{Gr\"unfeld Verteidigung}{D81}\\Botwinnik Variante
+\or % D82
+\@@key{Gr\"unfeld Verteidigung}{D82}\\4.~{\Fig B}f4
+\or % D83
+\@@key{Gr\"unfeld Verteidigung}{D83}\\4.~{\Fig B}f4
+\or % D84
+\@@key{Gr\"unfeld Verteidigung}{D84}\\4.~{\Fig B}f4
+\or % D85
+\@@key{Gr\"unfeld Verteidigung}{D85}\\Hauptfortsetzung
+\or % D86
+\@@key{Gr\"unfeld Verteidigung}{D86}\\Hauptfortsetzung\\Simagin Variante
+\or % D87
+\@@key{Gr\"unfeld Verteidigung}{D87}\\Hauptfortsetzung\\Botwinnik Variante
+\or % D88
+\@@key{Gr\"unfeld Verteidigung}{D88}\\Hauptfortsetzung\\Aljechin Variante
+\or % D89
+\@@key{Gr\"unfeld Verteidigung}{D89}\\Hauptfortsetzung\\Aljechin Variante
+\or % D90
+\@@key{Gr\"unfeld Verteidigung}{D90}\\Flohr Variante
+\or % D91
+\@@key{Gr\"unfeld Verteidigung}{D91}\\5.~{\Fig B}g5
+\or % D92
+\@@key{Gr\"unfeld Verteidigung}{D92}\\5.~{\Fig B}f4
+\or % D93
+\@@key{Gr\"unfeld Verteidigung}{D93}\\5.~{\Fig B}f4
+\or % D94
+\@@key{Gr\"unfeld Verteidigung}{D94}\\Geschlossenes System
+\or % D95
+\@@key{Gr\"unfeld Verteidigung}{D95}\\Geschlossenes System
+\or % D96
+\@@key{Gr\"unfeld Verteidigung}{D96}\\Russisches System
+\or % D97
+\@@key{Gr\"unfeld Verteidigung}{D97}\\Russisches System
+\or % D98
+\@@key{Gr\"unfeld Verteidigung}{D98}\\Smyslow Variante
+\or % D99
+\@@key{Gr\"unfeld Verteidigung}{D99}\\Smyslow Variante
+\fi %\ifcase
+\fi %\if D
+%
+%
+%
+\if#1E
+\keynum=#2#3\relax
+\ifcase\keynum
+%
+% E00
+%
+\@@key{Katalanisch}{E00}
+\or % E01
+\@@key{Katalanisch}{E01}
+\or % E02
+\@@key{Katalanisch}{E02}
+\or % E03
+\@@key{Katalanisch}{E03}
+\or % E04
+\@@key{Katalanisch}{E04}
+\or % E05
+\@@key{Katalanisch}{E05}
+\or % E06
+\@@key{Katalanisch}{E06}
+\or % E07
+\@@key{Katalanisch}{E07}
+\or % E08
+\@@key{Katalanisch}{E08}
+\or % E09
+\@@key{Katalanisch}{E09}
+\or % E10
+\@@key{Blumenfeld Gambit}{E10}
+\or % E11
+\@@key{Damenindisch}{E11}\\Bogoljubow Variante
+\or % E12
+\@@key{Damenindisch}{E12}\\Petrosian System und\\4. oder 5.~{\Fig B}g5
+\or % E13
+\@@key{Damenindisch}{E13}\\5.~{\Fig B}g5
+\or % E14
+\@@key{Damenindisch}{E14}\\Zentralsystem
+\or % E15
+\@@key{Damenindisch}{E15}\\Hauptfortsetzung\\Abweichungen
+\or % E16
+\@@key{Damenindisch}{E16}\\Hauptfortsetzung mit {\Fig B}b4
+\or % E17
+\@@key{Damenindisch}{E17}\\Hauptfortsetzung
+\or % E18
+\@@key{Damenindisch}{E18}\\Hauptfortsetzung
+\or % E19
+\@@key{Damenindisch}{E19}\\Hauptfortsetzung
+\or % E20
+\@@key{Nimzowitschindisch}{E20}\\Seltene Z\"uge
+\or % E21
+\@@key{Nimzowitschindisch}{E21}\\4.~{\Fig N}f3
+\or % E22
+\@@key{Nimzowitschindisch}{E22}\\4.~{\Fig Q}b3
+\or % E23
+\@@key{Nimzowitschindisch}{E23}\\4.~{\Fig Q}b3
+\or % E24
+\@@key{Nimzowitschindisch}{E24}\\S\"amisch Variante
+\or % E25
+\@@key{Nimzowitschindisch}{E25}\\S\"amisch Variante
+\or % E26
+\@@key{Nimzowitschindisch}{E26}\\S\"amisch Variante
+\or % E27
+\@@key{Nimzowitschindisch}{E27}\\S\"amisch Variante
+\or % E28
+\@@key{Nimzowitschindisch}{E28}\\S\"amisch Variante
+\or % E29
+\@@key{Nimzowitschindisch}{E29}\\S\"amisch Variante
+\or % E30
+\@@key{Nimzowitschindisch}{E30}\\4.~{\Fig L}g5
+\or % E31
+\@@key{Nimzowitschindisch}{E31}\\4.~{\Fig L}g5
+\or % E32
+\@@key{Nimzowitschindisch}{E32}\\4.~{\Fig Q}c2
+\or % E33
+\@@key{Nimzowitschindisch}{E33}\\4.~{\Fig Q}c2
+\or % E34
+\@@key{Nimzowitschindisch}{E34}\\4.~{\Fig Q}c2
+\or % E35
+\@@key{Nimzowitschindisch}{E35}\\4.~{\Fig Q}c2
+\or % E36
+\@@key{Nimzowitschindisch}{E36}\\4.~{\Fig Q}c2
+\or % E37
+\@@key{Nimzowitschindisch}{E37}\\4.~{\Fig Q}c2
+\or % E38
+\@@key{Nimzowitschindisch}{E38}\\4.~{\Fig Q}c2
+\or % E39
+\@@key{Nimzowitschindisch}{E39}\\4.~{\Fig Q}c2
+\or % E40
+\@@key{Nimzowitschindisch}{E40}\\Rubinstein System
+\or % E41
+\@@key{Nimzowitschindisch}{E41}\\Rubinstein System
+\or % E42
+\@@key{Nimzowitschindisch}{E42}\\Rubinstein System
+\or % E43
+\@@key{Nimzowitschindisch}{E43}\\Rubinstein System
+\or % E44
+\@@key{Nimzowitschindisch}{E44}\\Rubinstein System
+\or % E45
+\@@key{Nimzowitschindisch}{E45}\\Rubinstein System
+\or % E46
+\@@key{Nimzowitschindisch}{E46}\\Rubinstein System
+\or % E47
+\@@key{Nimzowitschindisch}{E47}\\Moderne Variante
+\or % E48
+\@@key{Nimzowitschindisch}{E48}\\Moderne Variante
+\or % E49
+\@@key{Nimzowitschindisch}{E49}\\Moderne Variante
+\or % E50
+\@@key{Nimzowitschindisch}{E50}\\Moderne Variante
+\or % E51
+\@@key{Nimzowitschindisch}{E51}\\Moderne Variante
+\or % E52
+\@@key{Nimzowitschindisch}{E52}\\Moderne Variante
+\or % E53
+\@@key{Nimzowitschindisch}{E53}\\Moderne Variante
+\or % E54
+\@@key{Nimzowitschindisch}{E54}\\Moderne Variante
+\or % E55
+\@@key{Nimzowitschindisch}{E55}\\Moderne Variante
+\or % E56
+\@@key{Nimzowitschindisch}{E56}\\Moderne Variante
+\or % E57
+\@@key{Nimzowitschindisch}{E57}\\Moderne Variante
+\or % E58
+\@@key{Nimzowitschindisch}{E58}\\Moderne Variante
+\or % E59
+\@@key{Nimzowitschindisch}{E59}\\Moderne Variante
+\or % E60
+\@@key{K\"onigsindisch}{E60}\\ohne {\Fig N}c3
+\or % E61
+\@@key{K\"onigsindisch}{E61}\\Abweichungen der Hauptvariante
+\or % E62
+\@@key{K\"onigsindisch}{E62}\\6.~$\ldots$,{\Fig N}c6
+\or % E63
+\@@key{K\"onigsindisch}{E63}\\6.~$\ldots$,{\Fig N}c6
+\or % E64
+\@@key{K\"onigsindisch}{E64}\\Jugoslawische Variante
+\or % E65
+\@@key{K\"onigsindisch}{E65}\\Jugoslawische Variante
+\or % E66
+\@@key{K\"onigsindisch}{E66}\\Jugoslawische Variante
+\or % E67
+\@@key{K\"onigsindisch}{E67}\\Hauptvariante des g3~Systems ohne e2-e4
+\or % E68
+\@@key{K\"onigsindisch}{E68}\\Hauptvariante des g3~Systems mit e2-e4
+\or % E69
+\@@key{K\"onigsindisch}{E69}\\Hauptvariante des g3~Systems mit e2-e4 und h2-h3
+\or % E70
+\@@key{K\"onigsindisch}{E70}\\fr\"uhes e2-e4
+\or % E71
+\@@key{K\"onigsindisch}{E71}\\5.~h3
+\or % E72
+\@@key{K\"onigsindisch}{E72}\\Varianten mit g2-g3 und {\Fig N}ge2
+\or % E73
+\@@key{K\"onigsindisch}{E73}\\Awerbach Angriff
+\or % E74
+\@@key{K\"onigsindisch}{E74}\\Awerbach Angriff
+\or % E75
+\@@key{K\"onigsindisch}{E75}\\Awerbach Angriff
+\or % E76
+\@@key{K\"onigsindisch}{E76}\\Vierbauernvariante
+\or % E77
+\@@key{K\"onigsindisch}{E77}\\Vierbauernvariante
+\or % E78
+\@@key{K\"onigsindisch}{E78}\\Vierbauernvariante
+\or % E79
+\@@key{K\"onigsindisch}{E79}\\Vierbauernvariante
+\or % E80
+\@@key{K\"onigsindisch}{E80}\\S\"amisch Angriff
+\or % E81
+\@@key{K\"onigsindisch}{E81}\\S\"amisch Angriff
+\or % E82
+\@@key{K\"onigsindisch}{E82}\\S\"amisch Angriff
+\or % E83
+\@@key{K\"onigsindisch}{E83}\\S\"amisch Angriff
+\or % E84
+\@@key{K\"onigsindisch}{E84}\\S\"amisch Angriff
+\or % E85
+\@@key{K\"onigsindisch}{E85}\\S\"amisch Angriff
+\or % E86
+\@@key{K\"onigsindisch}{E86}\\S\"amisch Angriff
+\or % E87
+\@@key{K\"onigsindisch}{E87}\\S\"amisch Angriff
+\or % E88
+\@@key{K\"onigsindisch}{E88}\\S\"amisch Angriff
+\or % E89
+\@@key{K\"onigsindisch}{E89}\\S\"amisch Angriff
+\or % E90
+\@@key{K\"onigsindisch}{E90}\\Klassisches System
+\or % E91
+\@@key{K\"onigsindisch}{E91}\\Klassisches System
+\or % E92
+\@@key{K\"onigsindisch}{E92}\\Klassisches System
+\or % E93
+\@@key{K\"onigsindisch}{E93}\\Klassisches System
+\or % E94
+\@@key{K\"onigsindisch}{E94}\\Klassisches System
+\or % E95
+\@@key{K\"onigsindisch}{E95}\\Klassisches System
+\or % E96
+\@@key{K\"onigsindisch}{E96}\\Klassisches System
+\or % E97
+\@@key{K\"onigsindisch}{E97}\\Klassisches System
+\or % E98
+\@@key{K\"onigsindisch}{E98}\\Klassisches System
+\or % E99
+\@@key{K\"onigsindisch}{E99}\\Klassisches System
+\fi %\ifcase
+\fi %\if E
+}
+\gdef\key #1{\@key#1 }
+%
+%
diff --git a/fonts/chess/bdfchess/index1.ist b/fonts/chess/bdfchess/index1.ist
new file mode 100644
index 0000000000..0900af92be
--- /dev/null
+++ b/fonts/chess/bdfchess/index1.ist
@@ -0,0 +1,13 @@
+preamble "\\centerline{\\large \\bf Er\\\"offnungs\\\"ubersicht}\n
+\\vspace*{5mm}
+\\begin{tabular}{p{6cm}ll}\n"
+postamble "\n\n\\end{tabular}\n"
+group_skip " "
+item_0 "\n "
+item_1 "\n &\\bf{"
+item_01 " &\\bf{"
+item_x1 " \\dotfill &\\bf{"
+delim_0 " & "
+delim_1 "} & "
+delim_n " - "
+delim_t "\\\\" \ No newline at end of file
diff --git a/fonts/chess/bdfchess/index2.ist b/fonts/chess/bdfchess/index2.ist
new file mode 100644
index 0000000000..577d905af0
--- /dev/null
+++ b/fonts/chess/bdfchess/index2.ist
@@ -0,0 +1,11 @@
+preamble "\\def\\indexname{Er\\\"offnungs\\\"ubersicht}\n
+\\begin{theindex}"
+group_skip ""
+item_0 "\n \\item "
+item_1 "\n \\subitem{\\bf "
+item_01 "\n \\subitem{\\bf "
+item_x1 "\n \\subitem{\\bf "
+delim_0 " "
+delim_1 "} "
+delim_n ", "
+delim_t "" \ No newline at end of file
diff --git a/fonts/chess/bdfchess/index3.ist b/fonts/chess/bdfchess/index3.ist
new file mode 100644
index 0000000000..2a94ad8f07
--- /dev/null
+++ b/fonts/chess/bdfchess/index3.ist
@@ -0,0 +1,13 @@
+preamble "{\\raggedright\n
+\\def\\indexname{Er\\\"offnungs\\\"ubersicht}\n
+\\begin{theindex}\n"
+postamble "\\end{theindex}}\n"
+group_skip ""
+item_0 "\\break\n {\\bf "
+item_1 ", "
+item_01 " } "
+item_x1 " } "
+delim_0 " }"
+delim_1 "("
+delim_n ","
+delim_t ")"
diff --git a/fonts/chess/bdfchess/keydoc.dvi b/fonts/chess/bdfchess/keydoc.dvi
new file mode 100644
index 0000000000..b7a4d38cc8
--- /dev/null
+++ b/fonts/chess/bdfchess/keydoc.dvi
Binary files differ
diff --git a/fonts/chess/bdfchess/keydoc.idx b/fonts/chess/bdfchess/keydoc.idx
new file mode 100644
index 0000000000..988284855d
--- /dev/null
+++ b/fonts/chess/bdfchess/keydoc.idx
@@ -0,0 +1,17 @@
+\indexentry{Caro-Kann Verteidigung!B11}{1}
+\indexentry{Sizilianisch!B21}{1}
+\indexentry{Morra Gambit!B21}{1}
+\indexentry{Vierspringerspiel!C46}{3}
+\indexentry{Englische Er\newumlaut offnung!A16}{3}
+\indexentry{Damenbauernspiel!D02}{3}
+\indexentry{Gr\newumlaut unfeld Verteidigung!D90}{3}
+\indexentry{Morra Gambit!B21}{3}
+\indexentry{Schottische Partie!C45}{4}
+\indexentry{Caro-Kann Verteidigung!B12}{4}
+\indexentry{Pirc-Ufimzew Verteidigung!B07}{4}
+\indexentry{K\newumlaut onigsindisch!E92}{4}
+\indexentry{Damenbauernspiel!D02}{4}
+\indexentry{Philidor Verteidigung!C41}{5}
+\indexentry{K\newumlaut onigsindisch!E92}{5}
+\indexentry{Franz\newumlaut osische Verteidigung!C01}{5}
+\indexentry{Franz\newumlaut osische Verteidigung!C00}{5}
diff --git a/fonts/chess/bdfchess/keydoc.tex b/fonts/chess/bdfchess/keydoc.tex
new file mode 100644
index 0000000000..e972d76805
--- /dev/null
+++ b/fonts/chess/bdfchess/keydoc.tex
@@ -0,0 +1,489 @@
+% Dokumentation fuer CHESSKEY.STY 1.2
+% Um diesen Text zu drucken ben\"otigen sie folgende Style-Dateien:
+% ART11.STY
+% A4.STY
+% von der CHESS12 Verteilung :
+% A4WIDE.STY
+% CHESS.STY
+% vom Babel-System :
+% GERMANB.STY
+% BABEL.STY
+% BABEL.SWI
+%
+% MAKEIDX.STY
+%
+% und nat\"urlich CHESSKEY.STY
+%
+% FONTS :
+% Magnification 1000 : cmr6,cmr8,cmr9,cmbx8,cmbx12,chessf10
+% Magnification 1095 : cmtt10,cmbx10,cmsy10,cmmi10,cmr10
+% Magnification 1440 : cmbx10,cmr10
+%
+\documentstyle[a4wide,11pt,germanb,chess,chesskey]{article}
+%
+\topmargin -5mm
+\textheight 230mm
+%
+\parindent 0mm
+\parskip 0mm
+\hbadness=10000
+\vbadness=10000
+%
+\def\TeX{\rm T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}
+%
+\newcommand{\partie}[3]{%
+\parbox{8mm}{\scriptsize Brett\\\hspace*{3mm}\bf #3}
+\begin{minipage}{56mm}
+\begin{center}
+{\bf #1}\\[1mm]
+\footnotesize \key{#2}
+\end{center}
+\end{minipage}\\[2mm]}
+%
+\newcommand{\keinepartie}[3]{%
+\parbox{8mm}{\scriptsize Brett\\\hspace*{3mm}\bf #3}
+\begin{minipage}{56mm}
+\begin{center}
+{\bf #1}\\[1mm]
+\footnotesize {#2}
+\end{center}
+\end{minipage}\\[2mm]}
+%
+\begin{document}
+\centerline{\Large Erweiterungen des CHESS-STYLES f\"ur Schachspieler}\vskip 2mm
+\centerline{Frank Hassel}\vskip 1mm
+{\Large Voraussetzungen}\\[5mm]
+{\bf CHESS.STY 1.2} von Piet Tutelaers\\
+mit PK-Fonts und Font metric files: CHESSF10\par
+{\bf BABEL-PACKAGE} von Johannes Braams zur Sprachunterst\"utzung\par
+{\bf MAKEIDX.STY} und {\bf MAKEINDX.EXE} von Leslie Lamport zur Erzeugung von Index\-dateien\par
+{\bf A4WIDE.STY} von Jean-Fran\c{c}ois Lamy \\[2mm]
+{\Large CHESSKEY.STY }\\[2mm]
+Dieser Style-File enth\"alt nur einen einzigen Befehl, der das Setzen von Schachpartien und das Erstellen von Er\"offungs\"ubersichten erleichtert. Dem Befehl \verb+\key{...}+ wird als Option die Er\"offnungsschl\"usselnummer A00 - E99
+\footnote{aus Sergiu Samarian,\\ Internationales Schl\"usselbuch der Schacher\"offnungen,\\ Schachverlag Rudi Schmaus, Rohrbacher Stra\ss e 27,\\ D-69115 Heidelberg} aus der Klassifikation der Schachenzyklop\"odie, die auch in vielen Zeitschriften und B\"uchern verwendet wird, \"ubergeben. Das Ergebnis liefert den Er\"offnungsnamen mit Untervariante und erstellt einen Eintrag in die Indexdatei .idx.\\[2mm]
+Beispiel \verb+\key{B11}+ :\\[2mm]
+\key{B11}\\[3mm]
+mit dem Indexeintrag $\backslash$index\{Caro-Kann Verteidigung!B11\}\\[2mm]
+Einige Schl\"usselnummern haben eine Doppeldeutung z.B. B21 und ben\"otigen noch eine Er\-g\"anzung a,b,c.\\[2mm]
+Beispiel \verb+\key{B21}+ :\\[1mm]
+\key{B21}\\[2mm]
+Beispiel \verb+\key{B21a}+ :\\[1mm]
+\key{B21a}\\[2mm]
+Beispiel \verb+\key{B21b}+ :\\[1mm]
+\key{B21b}\\[2mm]
+Die nachfolgenden Partiebeispiele aus der laufende Runde meines Vereins zeigen die Nutzung des Befehls $\backslash$key innerhalb des Macros $\backslash$partie\{Spieler\}\{Schl\"ussel\}\{Brettnr.\}
+\begin{verbatim}
+\newcommand{\partie}[3]{%
+\parbox{8mm}{\scriptsize Brett\\\hspace*{3mm}\bf #3}
+\begin{minipage}{56mm}
+\begin{center}
+{\bf #1}\\[1mm]
+\footnotesize \key{#2}
+\end{center}
+\end{minipage}\\[2mm]}
+\end{verbatim}
+Ich mu\ss te feststellen, da\ss\ die direkte Eingabe der Partien in \TeX\ von den teilweise chaotischen Partieformularen meiner Vereinskameraden viel zu m\"uhsam ist. Deshalb gebe ich alle Partien in ein k\"aufliches Schachprogramm, da\ss\ auch die Er\"offnungsklassifikation vornimmt, ein. Das Drucken des Schachprogramms wurde in eine Datei umgeleitet und dies von mir in das \TeX -Format konvertiert.
+Das Konvertierungsprogramm stelle ich gerne zur Verf\"ugung, aber das Programm, da\ss\ den Datenflu\ss\ zur Druckerschnittstelle umleitet, ist leider nicht Public Domain. Also wer so ein Public Domain Programm hat, schicke es mir bitte auf Diskette (IBM PC) zu. Wer Informationen zu Datei-Formaten von Schachprogrammen hat, m\"oge diese mir auch zuschicken. Eine Konvertierung ist dann leicht zu programmieren.\\
+Frank Hassel\\
+Im Kirschgarten 14\\
+D-55286 W\"orrstadt\\[5mm]
+In Zeitschriften ist in der Kurznotation folgende Schreibweise gebr\"auchlich :\\
+|\catcode`:=12 L*c5 oder Lc5:|\\
+Meine Mannschaftskameraden fanden |\catcode`:=12
+Lc5:| am besten, so da\ss\ ich nicht der offiziellen Empfehlung des Deutschen Schachbundes folge, der einen Doppelpunkt\footnote{Turnierleiterbuch des Deutschen Schachbundes,Kapitel 1.2.1 Beschreibung der algebraischen Notation} untersagt und |L*c5| vorschreibt. Dies ist nat\"urlich m\"uhsamer da Piet Tutelares leider in der chess-Umgebung den : als
+Steuerzeichen f\"ur $\ldots$, benutzt und deshalb durch \verb+\catcode`:=12+ nach jedem
+$\backslash$begin\{chess\} oder $\mid$ ausgeschaltet werden mu\ss .\\[5mm]
+Falls in CHESSKEY.STY \"Anderungen vorgenommen werden, kann dies mit der Datei TEST\-KEY.TEX \"uberpr\"uft werden, die alle Eintragungen durchprobiert.
+%
+\columnsep1cm
+\twocolumn
+\sloppy
+\underline{\large \bf W\"orrstadt I - Bodenheim I}\\[3mm]
+%
+\partie{Kuhn - Schmidt}{C46}{1}
+\begin{chess}
+\catcode`:=12
+% Piet hat den : als Steuerzeichen f\"ur $\ldots$, benutzt
+% den ich hier wieder ausschalte
+\bf
+1.~e4 e5 2.~Sf3 Sf6 3.~Sc3 Sc6 4.~Lc4 h6 5.~0-0 Lc5 6.~h3 d6 7.~d3 Sa5 8.~Lb3 Sb3: 9.~ab3: a6 10.~Sa4 La7 11.~b4 Le6 12.~Ld2 0-0 13.~Dc1 Kh7 14.~b3 Sg8 15.~Le3 f5 16.~La7:
+Ta7: 17.~De3 Ta8 18.~ef5: Lf5: 19.~Sc3 Df6 20.~Se4 De7 21.~Sg3 Lg6 22.~Tfe1 Tae8 23.~Dd2 Dd7 24.~Sh4 Se7 25.~Ta5 Tf4 26.~Sg6: Sg6: 27.~Te4 Tef8 28.~Tf4: Tf4: 29.~Se4 Sh4
+30.~De2 Tf7 31.~Dh5 De7 32.~c4 Sf5 33.~b5 ab5: 34.~Tb5: b6 35.~Tb4 g6 36.~Dg4 d5 37.~cd5: h5 38.~d6 cd6: 39.~Dg5 Kg7 40.~De7: Te7: 41.~Tb6: Td7 42.~g4 hg4: 43.~hg4: Sd4
+44.~b4 d5 45.~Sc5 Te7 46.~Td6 Te8 47.~Td5: Tb8 48.~Td7+ Kf6 49.~Td5 Tb5 50.~Se4+ Ke6
+51.~Tc5 Tb8 52.~Tc6+ Kd5
+\end{chess}
+1~-~0\\[5mm]
+%
+\partie{Adams - Haselberger}{A16}{2}
+\begin{chess} \catcode`:=12
+\bf
+1.~c4 Sf6 2.~Sc3 c6 3.~Sf3 d5 4.~e3 e6 5.~Le2 Ld6 6.~d4 Sbd7 7.~cd5: ed5: 8.~Dc2 0-0 9.~0-0 Te8 10.~Ld3 De7 11.~Ld2 Sf8 12.~Tae1 Se4 13.~Lc1 Lg4 14.~Se2 Lf3: 15.~gf3: Dh4
+16.~Sg3 Sg5 17.~Dd1 Te6 18.~Lf5 Th6 19.~h3 Sh3:+
+\end{chess}
+0~-~1\\[5mm]
+%
+\partie{Meller,R. - Schwehm}{D02}{3}
+\begin{chess} \catcode`:=12
+\bf
+1.~Sf3 Sc6 2.~d4 d5 3.~Lf4 Lg4 4.~Sbd2 e6 5.~h3 Lh5 6.~e3 Ld6 7.~Ld6: Dd6: 8.~Le2 Sf6
+9.~0-0 0-0 10.~a3 Tfe8 11.~Tc1 e5 12.~de5: Se5: 13.~Sd4 Le2: 14.~Se2: Tad8 15.~Sg3
+Sg6 16.~Sf3 Se4 17.~Se4: Te4: 18.~Te1 Df6 19.~c3 Td6 20.~Te2 Sh4 21.~Sh4: Dh4: 22.~f3
+Tee6 23.~De1 Dh5 24.~Td1 Tg6 25.~Kh1 Th6 26.~e4 g5 27.~ed5: g4 28.~Te8+ Kg7 29.~fg4:
+Dg4: 30.~Te4 Th3:+ 31.~gh3: Dh3:+ 32.~Kg1 Tg6+ 33.~Kf2 Tg2+
+\end{chess}
+0~-~1\\[5mm]
+%
+\keinepartie{Rode}{Gegner nicht angetreten}{4}
+1~-~0\\[5mm]
+%
+\partie{Wei\ss\ - Jost}{D90}{5}
+\begin{chess} \catcode`:=12
+\bf
+1.~d4 Sf6 2.~c4 g6 3.~Sc3 Lg7 4.~Sf3 c6 5.~e4 d5 6.~cd5: cd5: 7.~e5 Se4 8.~Ld3 Sc3: 9.~bc3: 0-0 10.~0-0 Sc6 11.~h3 f6 12.~ef6: Tf6: 13.~Lg5 Tf7 14.~Sh2 Lf5 15.~Te1 Dd6 16.~Dd2 Taf8 17.~Te2 e5 18.~de5: Le5: 19.~Sf3 Lh3: 20.~Lh6 Tf3: 21.~gf3: Tf3: 22.~Te3
+Df6 23.~Lf1 Lh2+ 24.~Kh1 Le6 25.~Tf3: Df3:+ 26.~Lg2 Dh5 27.~Dg5 Dg5: 28.~Lg5: Le5 29.~Td1 Lc3: 30.~Ld5: Kf7 31.~Lc6: bc6: 32.~Tc1 Ld4 33.~Le3 Lb6 34.~Kg1 Ld5 35.~a3 Ke6
+36.~Te1 Kd6 37.~Lg5 Kc5 38.~Tb1 Kd6 39.~Te1 c5 40.~Te8 c4 41.~Lh6 Ld4 42.~Le3 Lb2 43.~La7: La3: 44.~Ld4 Le6 45.~Ta8 Lc1 46.~Lc3 Lf4 47.~Ta6+ Kd5 48.~Kf1 Lf5 49.~Ke1 h5 50.
+Ta8 h4 51.~Td8+ Kc5 52.~Ke2 Lg4+ 53.~f3 Lf5 54.~Te8 h3 55.~Kf2 Kd6 56.~Te1 Le6 57.~Te4 g5 58.~Te1 h2 59.~Td1+ Kc5 60.~Ld4+ Kb4 61.~Kg2 Kb3 62.~Lf6 Kc2 63.~Te1 Ld5 64.~Te2+ Kd3 65.~Te8 g4 66.~Td8 gf3:+ 67.~Kh1 Ke4 68.~Le5 f2 \\
+\end{chess}
+0~-~1\\[5mm]
+%
+\partie{Pachl - Mattes}{B21b}{6}
+\begin{chess} \catcode`:=12
+\bf
+1.~e4 c5 2.~f4 d6 3.~Sf3 Sc6 4.~b3 Sf6 5.~Sc3 Lg4 6.~Le2 e6 7.~0-0 Le7 8.~Lb2 Db6 9.~Kh1 h5 10.~h3 0-0-0 11.~Sa4 Dc7 12.~Kg1 Se4: 13.~hg4: hg4: 14.~Sg5 Lg5: 15.~fg5: d5
+16.~Tf4 Df4:
+\end{chess}
+0~-~1\\[5mm]
+%
+\newpage
+%
+\partie{Koch - Rogles}{C45}{7}
+\begin{chess} \catcode`:=12
+\bf
+1.~e4 e5 2.~Sf3 Sc6 3.~d4 ed4: 4.~Sd4: Sd4: 5.~Dd4: Df6 6.~Le3 b6 7.~Sc3 c6 8.~Le2 Ld6
+9.~Df6: Sf6: 10.~Ld4 Lb4 11.~Lf3 Lb7 12.~a3 Le7 13.~e5 Sd5 14.~Sd5: cd5: 15.~0-0 0-0
+16.~c4 Tac8 17.~Tac1 La6 18.~Ld5: Lc5 19.~Lc5: Tc5: 20.~b4 Tc7 21.~b5 Lc8 22.~Tfd1
+Te8 23.~f4 Kf8 24.~Lf3 f6 25.~Te1 fe5: 26.~Te5: Td8 27.~Ld5 d6 28.~Te3 Ld7 29.~a4
+Tdc8 30.~Tce1 Lf5 31.~Tc3 Tc5 32.~Td1 Te8 33.~Kf2 Lg4 34.~Td2 Lf5 35.~h3 h5 36.~Kg3
+Tc7 37.~Kh4 g6 38.~g4 hg4: 39.~hg4: Lc8 40.~Kg5 Te1 41.~Th2 Tg1 42.~Th8+ Ke7 43.~Te3+
+Kd7 44.~Le6+
+\end{chess}
+1~-~0\\[5mm]
+%
+\partie{Mollner - Meller,E.}{B12}{8}
+\begin{chess} \catcode`:=12
+\bf
+1.~e4 c6 2.~d4 d5 3.~e5 Lf5 4.~Le2 e6 5.~f4 Se7 6.~Sf3 h6 7.~h3 Sd7 8.~Ld3 Db6 9.~c3 c5
+10.~b3 Ld3: 11.~Dd3: Sf5 12.~Sbd2 Le7 13.~g4 Sh4 14.~Th2 Sf3:+ 15.~Sf3: cd4: 16.~cd4:
+Lb4+ 17.~Ld2 Tc8 18.~f5 0-0 19.~g5 Ld2:+ 20.~Td2: ef5: 21.~Df5: De6 22.~De6: fe6: 23.~Ke2 h5 24.~Tf1 g6 25.~Se1 Tf1: 26.~Kf1: Kg7 27.~Sd3 Tc6 28.~Ke2 b6 29.~Sf4 Sf8 30.~Kd3 Tc7 31.~Tc2 Tc2: 32.~Kc2: Kf7 33.~Kc3 b5 34.~Sd3 Sd7 35.~Sc5 Sc5: 36.~dc5: Ke7
+37.~b4 a5 38.~c6 Kd8 39.~Kd4 Kc7 40.~Kc5 d4 41.~Kd4:
+\end{chess}
+Remis\\[5mm]
+%
+\underline{\large \bf Heidesheim II - W\"orrstadt II}\\[3mm]
+%
+\keinepartie{Holz - Klein}{Partie fehlt}{1}
+1 - 0\\[5mm]
+%
+\partie{Appel - Gerhard}{B07}{2}
+\begin{chess} \catcode`:=12
+\bf
+1.~e4 d6
+2.~d4 Sf6
+3.~Sc3 g6
+4.~f3 Lg7
+5.~Le3 c6
+6.~Dd2 b5
+7.~a3 a6
+8.~Ld3 Sbd7
+9.~Sa2 Sb6
+10.~Se2 Sfd7
+11.~c3 Lb7
+12.~0-0 Tc8
+13.~Tac1 0-0
+14.~c4 bc4:
+15.~Lc4: c5
+16.~b3 e6
+17.~Ld3 De7
+18.~Tc2 cd4:
+19.~Ld4: Tc2:
+20.~Lc2: Tc8
+21.~Lg7: Kg7:
+22.~Tc1 Se5
+23.~Dd4 Dh4
+24.~Sec3 Dh6
+25.~f4 Kg8
+26.~fe5: de5:
+27.~Db6: Tc3:
+\normalsize Aus Zeitnot fehlt der Rest der Partiemit\-schrift
+\end{chess}
+1~-~0\\[5mm]
+%
+\partie{Kopischke - Hennemann}{E92}{3}
+\begin{chess} \catcode`:=12
+\bf
+1.~d4 Sf6 2.~c4 g6 3.~Sf3 Lg7 4.~Sc3 d6 5.~e4 0-0 6.~Le2 e5 7.~Lg5 ed4: 8.~Sd4: c6 9.~0-0 Dc7 10.~Dd2 Te8 11.~f3 Sbd7 12.~Tac1 a5 13.~a4 Sf8 14.~Le3 Se6 15.~Sd5 cd5: 16.~cd5: Sc5 17.~Sb5 Dd8 18.~Lc5: dc5: 19.~Tc5: Db6 20.~Tfc1 Lf8 21.~d6 Te5 22.~Dd4 Tc5:
+23.~Tc5: Sd7 24.~Td5 Dd4:+ 25.~Td4: Sc5 26.~Ld1 Ld7 27.~f4 Lb5: 28.~ab5: Td8 29.~e5
+Se6 30.~Tc4 Lh6 31.~g3 Kg7 32.~Lf3 b6 33.~Ld5 Sc5 34.~Kg2 Kf8 35.~Kf3 Lg7 36.~b4 ab4:
+37.~Tb4: f5 38.~ef6: Lf6: 39.~Lc6 Td6: 40.~Tc4 Td3+ 41.~Ke2 Tb3 42.~Kf1 Tb2 43.~h3
+Se6 44.~Te4 Sc7 45.~g4 Sb5: 46.~Te8+ Kf7 47.~Tb8 Sd6 48.~Ld5+ Ke7 49.~g5 Ld4 50.~Lg8
+Sf5 51.~Tb7+ Kf8 52.~Tb8+ Ke7 53.~Tc8 Sh4 54.~Lh7: Sf3
+\end{chess}
+0~-~1\\[5mm]
+%
+\partie{Rohr - Presper}{D02}{4}
+\begin{chess} \catcode`:=12
+\bf
+1.~d4 Sf6 2.~Sf3 d5 3.~Lf4 e6 4.~c3 Ld6 5.~Lg3 0-0 6.~Sbd2 b5 7.~a3 Lg3: 8.~hg3: Se4 9.~e3 c6 10.~Se4: de4: 11.~Se5 f6 12.~Sg4 Sd7 13.~Db3 De7 14.~Le2 f5 15.~Sh2 Sf6 16.~g4
+fg4: 17.~Sg4: Sg4: 18.~Lg4: Df6 19.~Dc2 Dg6 20.~f3 ef3: 21.~Dg6: f2+ 22.~Kf1 hg6: 23.~Th3 Tf6 24.~Tf3 Tf3: 25.~Lf3: Lb7 26.~Kf2: Kf7 27.~b4 Kf6 28.~e4 a6 29.~Th1 a5 30.~Tc1 ab4: 31.~ab4: Ta4 32.~Ke3 g5 33.~Tf1 Ke7 34.~Th1 c5 35.~dc5: Ta3 36.~Kd4 e5+ 37.~Ke5: Tc3: 38.~Th7 Kf8 39.~Th8+ Ke7 40.~Th7 Kf8 41.~Kd6 Kg8 42.~Th5 Tc4 43.~e5 Lf3:
+44.~gf3: Tb4: 45.~e6 Td4+ 46.~Ke5 Td1 47.~c6 b4 48.~c7 Te1+ 49.~Kd6 Td1+ 50.~Ke7 Tc1
+51.~Tg5: Tc7:+ 52.~Kd6 Tb7 53.~Tc5 b3 54.~Tc8+ Kh7 55.~e7 b2 56.~e8D Tb6+ 57.~Kc5 b1D
+58.~Dh5+ Th6
+\end{chess}
+Remis\\[5mm]
+\partie{Herler - Becker}{C41}{5}
+\begin{chess} \catcode`:=12
+\bf
+1.~e4 Sf6 2.~Sc3 e5 3.~Sf3 d6 4.~d4 Lg4 5.~de5: Lf3: 6.~Df3: de5: 7.~Lg5 Le7 8.~Td1
+Sbd7 9.~Lf6: Lf6: 10.~Sd5 Dc8 11.~Lc4 0-0 12.~0-0 Kh8 13.~c3 c6 14.~Se3 Sb6 15.~Lb3
+Dc7 16.~Sg4 Le7 17.~Df5 f6 18.~Td3 g6 19.~Df3 h5 20.~De3 g5 21.~Sh6 c5 22.~Le6 Kh7 23.~Sf5 c4 24.~Dh3 Kg6 25.~Dh5:+
+\normalsize [25.~Dh5:+ Kh5: 26.~Th3+ Kg4 27.~f3+ Kf4 28.~g3+ \normalsize \mate]\bf
+25.~:Kh5: 26.~Th3+ Kg4 27.~Se3+ Kf4 28.~Tf3+ Ke4: 29.~Lf5+
+\end{chess}
+1~-~0\\[5mm]
+%
+\partie{Berg - Weber}{E92}{6}
+\begin{chess} \catcode`:=12
+\bf
+1.~c4 Sf6 2.~Sc3 g6 3.~d4 Lg7 4.~e4 d6 5.~Sf3 0-0 6.~Le2 Lg4 7.~0-0 Lf3: 8.~Lf3: c6 9.~Te1 Sa6 10.~a3 Sc7 11.~Lg5 Te8 12.~Tc1 Se6 13.~Le3 a6 14.~d5 cd5: 15.~cd5: Sf8 16.~Db3 b5 17.~Se2 S6d7 18.~Sd4 Sc5 19.~Dd1 Ld4: 20.~Ld4: Tc8 21.~b4 Scd7 22.~Dd2 Sb6 23.~Tc8: Sc8: 24.~De3 Sd7 25.~Tc1 e5 26.~Lb2 Scb6 27.~Le2 Sf6 28.~Tc2 Te7 29.~Dc1 Sfd7
+30.~Lc3 Sf6 31.~f3 Tc7 32.~Ld2 Tc2: 33.~Dc2: Dc8 34.~Dc8:+ Sc8: 35.~Le3 Sd7 36.~f4
+Sf6 37.~Lf3 Sd7 38.~Lg4 Scb6 39.~Ld7: Sd7: 40.~fe5: Se5: 41.~h3 Sc4 42.~Lc1 Kg7 43.~Kf2 Kf6 44.~Kf3 h5 45.~h4 Se5+ 46.~Ke3 g5 47.~Lb2 gh4: 48.~Kf4 Ke7 49.~Le5: de5:+ 50.~Ke5: f6+ 51.~Kf5 h3 52.~gh3: h4 53.~Kg6
+\end{chess}
+1~-~0\\[5mm]
+%
+\partie{Jonas - Mages}{C01}{7}
+\begin{chess} \catcode`:=12
+\bf
+1.~e4 e6 2.~Sf3 d5 3.~ed5: ed5: 4.~d4 c6 5.~Sc3 Lg4 6.~Le2 Lf3: 7.~Lf3: Ld6 8.~0-0 Se7
+9.~Lg5 0-0 10.~Dd2 Dc7 11.~Le7: De7: 12.~Tae1 Dc7 13.~g3 Sd7 14.~a3 Sf6 15.~Te2 Tfe8
+16.~Tfe1 Dd7 17.~Kg2 Te2: 18.~Te2: Te8 19.~Dd3 Te7 20.~Te7: De7: 21.~Df5 Dd7 22.~Dd7:
+Sd7: 23.~a4 Sf6 24.~Sd1 Kf8 25.~Se3 g6 26.~Sg4 Sg4: 27.~Lg4: f5 28.~Le2 h5 29.~f4 Kf7
+30.~Kf3 c5 31.~dc5: Lc5: 32.~Lb5 a5 33.~Ld3 Ld4 34.~b3 Kf6 35.~c4 dc4: 36.~Lc4: g5 37.~fg5:+ Kg5: 38.~h4+ Kf6 39.~Lb5 Le5 40.~Le8 Kg7 41.~Lh5: Kh6 42.~Lf7 Kg7 43.~Le8 Kh6
+44.~Ld7 Kg6 45.~h5+ Kh5: 46.~Lf5: Kg5 47.~g4 Ld4 48.~Ke4 Lc5 49.~Kd5 b6 50.~Kc6 Lf2
+51.~Kb5 Lc5 52.~Ld7 Kf4 53.~Kc4 Kg5 54.~Kd5 Lf2 55.~Ke4 Lc5 56.~Ke5
+\end{chess}
+Remis\\[5mm]
+%
+\partie{Steeg - Hassel}{C00}{8}
+\begin{chess} \catcode`:=12
+\bf
+1.~e4 e6 2.~Le2 d5 3.~ed5: ed5: 4.~Sf3 Sf6 5.~d3 c5 6.~b3 Sc6 7.~0-0 Ld6 8.~Lg5 h6 9.~~Lf6: Df6: 10.~Sbd2 0-0 11.~c4 Le6 12.~cd5: Ld5: 13.~Se4 Le4: 14.~de4: Tfe8 15.~Ld3
+Tad8 16.~a3 Dc3 17.~Ta2 Lh2:+ 18.~Kh2: Td3: 19.~Td2 Td2: 20.~Dd2: Db3: 21.~Te1 De6
+22.~Db2 b6 23.~Dc3 Se5 24.~Sd2 Df6 25.~Dg3 c4 26.~f4 Sd3 27.~Tf1 Dd4 28.~e5 c3 29.~Sb3
+Dc4 30.~Sa1 c2 31.~Sc2: Dc2: 32.~Tf3 Sc5 33.~f5 Se4 34.~Df4 Sg5 35.~Te3 Dc7 36.~Kg3
+f6 37.~e6 Df4:+ 38.~Kf4: Te7 39.~Td3 Se6:+ 40.~fe6: Te6: 41.~Td7 a5 42.~Kg4 Te4+ 43.~Kf3 Tc4 44.~Td3 Kf7 45.~Tb3 Tc6 46.~Ke4 Ke6 47.~Kd4 Kd6 48.~Tb5 Kc7 49.~Tb2 Tc5 50.~Te2 Kd6 51.~Te8 Tc2 52.~g4 Tg2 53.~Te4 b5 54.~Ke3 Tg3+ 55.~Kf4 Ta3: 56.~Kf5 Tf3+ 57.
+Kg6 b4 58.~Kf7 b3
+\end{chess}
+0~-~1\\[5mm]
+%
+\onecolumn
+\fussy
+Folgende Beispiele zeigen verschiedene M\"oglichkeiten Er\"offnungs\"ubersichten mit dem Programm MAKEIDX zu erzeugen.
+Die Indexdateien .idx wurden dabei mit dem Befehl $\backslash$key\{...\} erzeugt und anschlie\ss endem Aufruf von z.B.:\\
+makeindx -r -s index1.ist filename.idx\\
+zur Datei filename.ind konvertiert. In filename.tex mu\ss\ nur noch an der Stelle, an der die Er\"offnungs\"ubersicht stehen soll $\backslash$printindex stehen.\\[2mm]
+%
+INDEX1.IST siehe S. \pageref{ind1}
+%
+\begin{verbatim}
+preamble "\\centerline{\\large \\bf Er\\\"offnungs\\\"ubersicht}\n
+\\vspace*{5mm}
+\\begin{tabular}{p{6cm}ll}\n"
+postamble "\n\n\\end{tabular}\n"
+group_skip " "
+item_0 "\n "
+item_1 "\n &\\bf{"
+item_01 " &\\bf{"
+item_x1 " \\dotfill &\\bf{"
+delim_0 " & "
+delim_1 "} & "
+delim_n " - "
+delim_t "\\\\"
+\end{verbatim}
+%
+INDEX2.IST siehe S. \pageref{ind2}
+%
+\begin{verbatim}
+preamble "\\def\\indexname{Er\\\"offnungs\\\"ubersicht}\n
+\\begin{theindex}"
+group_skip ""
+item_0 "\n \\item "
+item_1 "\n \\subitem{\\bf "
+item_01 "\n \\subitem{\\bf "
+item_x1 "\n \\subitem{\\bf "
+delim_0 " "
+delim_1 "} "
+delim_n ", "
+delim_t ""\end{verbatim}
+%
+INDEX3.IST siehe S. \pageref{ind3}
+%
+\begin{verbatim}
+preamble "{\\raggedright\n
+\\def\\indexname{Er\\\"offnungs\\\"ubersicht}\n
+\\begin{theindex}\n"
+postamble "\n\\end{theindex}}\n"
+group_skip ""
+item_0 "\\break\n {\\bf "
+item_1 ", "
+item_01 " } "
+item_x1 " } "
+delim_0 " }"
+delim_1 "("
+delim_n ","
+delim_t ")"
+\end{verbatim}
+%
+% INDEX1.IST
+%
+\centerline{\large \bf Er\"offnungs\"ubersicht\label{ind1}}
+
+\vspace*{5mm}
+\begin{tabular}{p{6cm}ll}
+
+ Bird Er\newumlaut offnung \dotfill &\bf{A02} & 10\\
+ Caro-Kann Verteidigung \dotfill &\bf{B12} & 6\\
+ Damenbauernspiel \dotfill &\bf{D00} & 2 - 3 - 4 - 8\\
+ &\bf{D02} & 5 - 13\\
+ Damengambit \dotfill &\bf{D06} & 2 - 7 - 14\\
+ &\bf{D11} & 15\\
+ Englische Er\newumlaut offnung \dotfill &\bf{A16} & 5\\
+ Evans Gambit \dotfill &\bf{C52} & 11 - 15\\
+ Franz\newumlaut osische Verteidigung \dotfill &\bf{C00} & 14\\
+ &\bf{C01} & 3 - 13\\
+ &\bf{C02} & 16\\
+ Gr\newumlaut unfeld Verteidigung \dotfill &\bf{D90} & 5\\
+ Italienische Partie \dotfill &\bf{C50} & 2 - 12\\
+ K\newumlaut onigsgambit \dotfill &\bf{C30} & 12\\
+ K\newumlaut onigsindisch \dotfill &\bf{A48} & 3\\
+ &\bf{E61} & 12\\
+ &\bf{E92} & 10 - 12 - 13\\
+ K\newumlaut onigsspringer Gambit \dotfill &\bf{C34} & 10\\
+ L\newumlaut auferspiel \dotfill &\bf{C24} & 2\\
+ Moderne Verteidigung \dotfill &\bf{B06} & 3\\
+ Morra Gambit \dotfill &\bf{B21} & 6\\
+ Nimzowitschindisch \dotfill &\bf{E51} & 4\\
+ Philidor Verteidigung \dotfill &\bf{C41} & 8 - 13\\
+ Pirc-Ufimzew Verteidigung \dotfill &\bf{B07} & 6 - 11 - 12 - 14\\
+ &\bf{B08} & 10\\
+ Russische Verteidigung \dotfill &\bf{C42} & 7\\
+ Schottische Partie \dotfill &\bf{C45} & 6\\
+ Sizilianisch \dotfill &\bf{B21} & 10\\
+ &\bf{B23} & 11\\
+ &\bf{B34} & 7\\
+ &\bf{B46} & 8\\
+ Skandinavische Verteidigung \dotfill &\bf{B01} & 3\\
+ Vierspringerspiel \dotfill &\bf{C46} & 4\\
+ Zweispringerspiel \dotfill &\bf{C57} & 16\\
+
+\end{tabular}
+%
+% INDEX2.IST
+%
+\def\indexname{Er\"offnungs\"ubersicht\label{ind2}}
+
+\begin{theindex}
+ \item Bird Er\newumlaut offnung
+ \subitem{\bf A02} 10
+ \item Caro-Kann Verteidigung
+ \subitem{\bf B12} 6
+ \item Damenbauernspiel
+ \subitem{\bf D00} 2, 3, 4, 8
+ \subitem{\bf D02} 5, 13
+ \item Damengambit
+ \subitem{\bf D06} 2, 7, 14
+ \subitem{\bf D11} 15
+ \item Englische Er\newumlaut offnung
+ \subitem{\bf A16} 5
+ \item Evans Gambit
+ \subitem{\bf C52} 11, 15
+ \item Franz\newumlaut osische Verteidigung
+ \subitem{\bf C00} 14
+ \subitem{\bf C01} 3, 13
+ \subitem{\bf C02} 16
+ \item Gr\newumlaut unfeld Verteidigung
+ \subitem{\bf D90} 5
+ \item Italienische Partie
+ \subitem{\bf C50} 2, 12
+ \item K\newumlaut onigsgambit
+ \subitem{\bf C30} 12
+ \item K\newumlaut onigsindisch
+ \subitem{\bf A48} 3
+ \subitem{\bf E61} 12
+ \subitem{\bf E92} 10, 12, 13
+ \item K\newumlaut onigsspringer Gambit
+ \subitem{\bf C34} 10
+ \item L\newumlaut auferspiel
+ \subitem{\bf C24} 2
+ \item Moderne Verteidigung
+ \subitem{\bf B06} 3
+ \item Morra Gambit
+ \subitem{\bf B21} 6
+ \item Nimzowitschindisch
+ \subitem{\bf E51} 4
+ \item Philidor Verteidigung
+ \subitem{\bf C41} 8, 13
+ \item Pirc-Ufimzew Verteidigung
+ \subitem{\bf B07} 6, 11, 12, 14
+ \subitem{\bf B08} 10
+ \item Russische Verteidigung
+ \subitem{\bf C42} 7
+ \item Schottische Partie
+ \subitem{\bf C45} 6
+ \item Sizilianisch
+ \subitem{\bf B21} 10
+ \subitem{\bf B23} 11
+ \subitem{\bf B34} 7
+ \subitem{\bf B46} 8
+ \item Skandinavische Verteidigung
+ \subitem{\bf B01} 3
+ \item Vierspringerspiel
+ \subitem{\bf C46} 4
+ \item Zweispringerspiel
+ \subitem{\bf C57} 16
+
+\end{theindex}
+%
+% INDEX3.IST
+%
+{\raggedright
+
+\def\indexname{Er\"offnungs\"ubersicht\label{ind3}}
+
+\begin{theindex}
+\break
+ {\bf Bird Er\newumlaut offnung } A02(10)\break
+ {\bf Caro-Kann Verteidigung } B12(6)\break
+ {\bf Damenbauernspiel } D00(2,3,4,8), D02(5,13)\break
+ {\bf Damengambit } D06(2,7,14), D11(15)\break
+ {\bf Englische Er\newumlaut offnung } A16(5)\break
+ {\bf Evans Gambit } C52(11,15)\break
+ {\bf Franz\newumlaut osische Verteidigung } C00(14), C01(3,13), C02(16)\break
+ {\bf Gr\newumlaut unfeld Verteidigung } D90(5)\break
+ {\bf Italienische Partie } C50(2,12)\break
+ {\bf K\newumlaut onigsgambit } C30(12)\break
+ {\bf K\newumlaut onigsindisch } A48(3), E61(12), E92(10,12,13)\break
+ {\bf K\newumlaut onigsspringer Gambit } C34(10)\break
+ {\bf L\newumlaut auferspiel } C24(2)\break
+ {\bf Moderne Verteidigung } B06(3)\break
+ {\bf Morra Gambit } B21(6)\break
+ {\bf Nimzowitschindisch } E51(4)\break
+ {\bf Philidor Verteidigung } C41(8,13)\break
+ {\bf Pirc-Ufimzew Verteidigung } B07(6,11,12,14), B08(10)\break
+ {\bf Russische Verteidigung } C42(7)\break
+ {\bf Schottische Partie } C45(6)\break
+ {\bf Sizilianisch } B21(10), B23(11), B34(7), B46(8)\break
+ {\bf Skandinavische Verteidigung } B01(3)\break
+ {\bf Vierspringerspiel } C46(4)\break
+ {\bf Zweispringerspiel } C57(16)
+\end{theindex}}
+\end{document}
diff --git a/fonts/chess/bdfchess/komoed.dvi b/fonts/chess/bdfchess/komoed.dvi
new file mode 100644
index 0000000000..1cfc16f835
--- /dev/null
+++ b/fonts/chess/bdfchess/komoed.dvi
Binary files differ
diff --git a/fonts/chess/bdfchess/komoed.tex b/fonts/chess/bdfchess/komoed.tex
new file mode 100644
index 0000000000..ecf1220fd6
--- /dev/null
+++ b/fonts/chess/bdfchess/komoed.tex
@@ -0,0 +1,296 @@
+\documentstyle[a4wide,germanb,chess,bdfchess]{article}
+\parskip 3mm
+\parindent 0pt
+\newcommand{\bs}{$\backslash$}
+\def\TeX{\rm T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}
+\def\LaTeX{\rm L\kern-.36em\raise.3ex\hbox{\sc a}\kern-.15em T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}
+\sloppy
+\newfont{\ch}{chess10}
+\textheight 230mm
+\hbadness=10000
+\begin{document}
+\twocolumn[\Large \bf Schachfigurensatz mit \TeX\ und \LaTeX]\par
+Frank Hassel\par
+Als Vereinsspieler mu\ss te ich in vielen Diskussionen feststellen, da\ss\ fast jeder aktive Spieler den Wunsch hat, seine Partien zu dokumentieren oder welcher Verein h\"atte nicht gerne eine Vereinszeitung. Dazu greift der versierte Schachspieler zu Diagrammstempel mit Figurentypen oder Diagramm-Prints mit Abreibefiguren und stellt bei fehlendem manuellem Geschick fest, da\ss\ ihm das Resultat mi\ss f\"allt oder auf die Dauer zu teuer wird. Der Computerbesitzer startet sein Schachprogramm, w\"ahlt den Menuepunkt \glqq PRINT DIAGRAM\grqq\ und wird in den meisten F\"allen auf eine ASCII-Textdatei sto\ss en. Wenn er Gl\"uck hat kann er eine PCX, DGM, WPG oder sonstige Graphikdatei anlegen und falls er das dazu passende Graphikprogramm hat auch ausdrucken. Wer viel Geld hat kauft sich ChessBase mit ChessSet f\"ur ca. 700.-DM. Wer allerdings \TeX\ hat, kann dies nat\"urlich auch auf elegante Weise zum Nulltarif.\par
+{\large \bf Schach und \TeX ?}\par
+Zu verdanken haben wir dies Piet Tutelaers \cite{piet}, der die f\"ur den Schachfigurensatz erforderlichen Fonts und ein Makropaket (CHESS.STY) entworfen hat. Dieser \TeX -Style erlaubt das Setzen von Schachpartien mit automatischer Stellungsberechnung in Buchdruckqualit\"at. Ebenso beinhaltet er einen Analysenmodus, welcher es erlaubt Partien zu kommentieren oder in der platzsparenden Kurznotation zu setzen.
+Von mir wurde ein weiteres Makropaket (BdFCHESS.STY) hinzugef\"ugt \cite{bdfchess}.
+Es erweitert CHESS.STY um Diagrammdarstellungen und f\"ugt insbesondere Optionen f\"ur Fernschachspieler, wie Verwaltung der Bedenkzeiten f\"ur die Z\"uge und Druck einer Postkarte zur
+Zug\"ubermittlung nach den Richtlinien des Deutschen Fernschachbundes hinzu.\par
+{\large \bf Schachfiguren}\par
+Um ein komplettes Schachdiagramm zu setzen ben\"otigt man 26 Zeichen. Ein leeres helles und ein leeres dunkles Feld. F\"ur jede
+Schachfigur (Bauer, Springer, L\"aufer, Turm, Dame und K\"onig) 4 Zeichen, je eine wei\ss e und schwarze Figur auf hellem bzw. dunklem Feld.\\[5mm]
+\begin{tabular}{rrrrrrrrrr}
+\\
+P&{\ch P}&O&{\ch O}&p&{\ch p}&o&{\ch o}&0&{\ch 0}\\
+N&{\ch N}&M&{\ch M}&n&{\ch n}&m&{\ch m}&Z&{\ch Z}\\
+B&{\ch B}&A&{\ch A}&b&{\ch b}&a&{\ch a}&&\\
+R&{\ch R}&S&{\ch S}&r&{\ch r}&s&{\ch s}&&\\
+Q&{\ch Q}&L&{\ch L}&q&{\ch q}&l&{\ch l}&&\\
+K&{\ch K}&J&{\ch J}&k&{\ch k}&j&{\ch j}&&\\
+\end{tabular}\\[5mm]
+Die Tabelle zeigt uns alle Zeichen des Schachfonts CHESS10 der Gr\"o\ss e 10 point mit der je\-weiligen ASCII-Zuordung.
+Die Schachfonts werden von Piet Tutelaers in der Gr\"o\ss e 10, 20 und 30 point zur Verf\"ugung gestellt.
+Da in dem Makropaket auch der METAFONT-Quellcode der Fonts enthalten ist, ist es nach dem \"Andern eines einzigen Parameters leicht m\"oglich mit METAFONT neue Fontgr\"o\ss en zu berechnen. Mit diesem Font w\"are es im Prinzip schon m\"oglich ein Schachdiagramm zusammenzubasteln. Die ele\-gante L\"osung besteht jedoch in dem Makro
+\bs board\{...\}, dessen Gebrauch im folgenden Bei\-spiel erl\"autert wird :
+\begin{verbatim}
+ \board{ * * L *}
+ {* * * B }
+ { b * * *}
+ {* * * * }
+ { S * * *}
+ {kB* * * }
+ { *K* * *}
+ {* * * * }
+ $$\showboard$$
+\end{verbatim}
+\centerline{\tt Wei\ss\ am Zug, Matt in 3 Z\"ugen}
+Die 64 Argumente des Befehles \verb+\board+ repr\"asentieren die 64 Felder eines Schachbrettes. Um eine Figur auf ein bestimmtes Feld zu setzen, mu\ss\ man nicht die ASCII-Codierung des Zeichens kennen, sondern nur den Anfangsbuchstaben der Figur. Gro\ss buchstaben stehen f\"ur wei\ss e - ,Kleinbuchstaben f\"ur schwarze Figuren, $\sqcup$ und * f\"ur leere wei\ss e und schwarze Felder. Zur Darstellung des Brettes dient der Befehl \verb+\showboard+ bzw. \verb+$$\showboard$$+ um es zentriert zu setzen. Ergebnis mit dem Font chess20 (20~point)~:
+\board{ * * L *}
+ {* * * B }
+ { b * * *}
+ {* * * * }
+ { S * * *}
+ {kB* * * }
+ { *K* * *}
+ {* * * * }
+$$\showboard$$
+\centerline{Wei\ss\ am Zug, Matt in 3 Z\"ugen}\\[5mm]
+Die Orginalgr\"o\ss e des Brettes betr\"agt 9x9cm.
+Weitere Brettdarstellungsbefehle sind \bs showinversboard, \bs showboardwithnotation und \bs showinversboardwithnotation, deren Namensgebung wohl selbsterkl\"arend ist.\par
+{\large \bf Schachpartien}\par
+Falls Sie komplette Schachpartien oder Ausz\"uge daraus mit \TeX\ bzw. \LaTeX\ setzen m\"ochten, ist dies leicht mit den in diesem Absatz beschriebenen Befehlen m\"oglich. Doch zuerst wieder ein kleines Beispiel, da\ss\ einen Auszug aus einer Schachpartie wiedergibt~:
+\begin{position}
+\White(Kg1,Dc2,Tf1,Ta1,Le4,Le5,Sc3,
+a3,b2,d4,e3,f2,g2,h2)
+\Black(Ke8,Dd8,Ta8,Tg8,Lc6,Sa5,Sf6,
+a6,b6,c7,e6,f7,g5,h6)
+\global\Whitetrue\global\movecount=17
+\end{position}
+$$\showboardwithnotation$$
+\move e5f6 d8f6
+\move e4c6+ a5c6
+\move c3e4 f6d8
+\ply c2c6+
+$$\showboardwithnotation$$
+Die Befehlsfolge mit \LaTeX\ sieht wie folgt aus~:
+\begin{verbatim}
+\begin{position}
+\White(Kg1,Dc2,Tf1,Ta1,Le4,Le5,Sc3,
+a3,b2,d4,e3,f2,g2,h2)
+\Black(Ke8,Dd8,Ta8,Tg8,Lc6,Sa5,Sf6,
+a6,b6,c7,e6,f7,g5,h6)
+\global\Whitetrue\global\movecount=17
+\end{position}
+$$\showboardwithnotation$$
+\move e5f6 d8f6
+\move e4c6+ a5c6
+\move c3e4 f6d8
+\ply c2c6+
+$$\showboardwithnotation$$
+\end{verbatim}
+Die Initialisierung des Schachbrettes erfolgt bei einer neuen Partie mit \verb+\newgame+. Bei einem Teilspiel mit der Umgebung \verb+position+, mit seinen Befehlen \verb+\White(...)+ und \verb+\Black(...)+ mit denen die Position jeder Figur in algebraischer Notation festgelegt wird. Wei\ss\ am Zug wird mit dem Flag \verb+\Whitetrue+ und Schwarz am Zug mit \verb+\Whitefalse+ festgelegt. Mit \verb+\movecount=17+ wird \LaTeX\ die aktuelle Zugnummer mitgeteilt. Damit ist die Initialisierung abgeschlossen und der eigentliche Spielverlauf kann mit den beiden (programmiertechnisch aufwendigsten) Macros \verb+\move+ und \verb+\ply+ gesetzt werden. Mit \verb+\move+ wird ein kompletter Zug, mit \verb+\ply+ ein Halbzug dargestellt. Als Argument mu\ss\ nur das Startfeld und das Endfeld \"ubergeben (z.B. e5f6) werden. \TeX\ berechnet f\"ur Sie die Zugnummer, zeigt die Figur ({\Fig KQRBN}), die gezogen wurde und stellt fest, ob eine Figur geschlagen wurde.
+Eine Rochade und Schlagen \glqq en passant\grqq\ werden erkannt. Zus\"atzlich zum Zug k\"onnen Kommen\-tare, wie Schach |+|, guter Zug |!|, schlechter Zug |?| usw. angeh\"angt werden. Wenn ein Bauer das letzte Feld erreicht, wird eine Figuren\-umwandlung durch Anh\"angen des Anfangsbuchstabens der Figur gesetzt (\bs ply b7b8D). Die Stellung der Figuren auf dem Brett wird nach jedem Zug neu berechnet und kann jederzeit mit \verb+\showboard+ angezeigt werden. \par
+{\large \bf Analysen und Kurznotation}\par
+Abgerundet wird das Makropaket von Piet Tutelaers durch einen Analyse- und Turniermodus der durch die Umgebungen $\mid$...$\mid$ bzw. \verb+\begin{chess}+ und \verb+\end{chess}+ aufgerufen wird.
+Innerhalb dieser Umgebung ist es zum Beispiel m\"oglich eine Partie zu kommentieren :\\[2mm]\parindent 0mm\par\parskip 0mm
+\bs ply e8f8\\
+H\"atte ich doch besser $\mid$17.: Lc6*e4$\mid$
+gespielt\\
+\bs move a1c1 a8a7\\[2mm]
+ergibt :\\
+\ply e8f8
+H\"atte ich doch besser |17.: Lc6*e4| gespielt
+\move a1c1 a8a7
+\vskip 5mm
+oder Partien in der Kurzform zu setzen
+\begin{verbatim}
+\bf %Fettdruck
+\begin{chess}
+1. d4 d5 2. c4 Sf6 3. Sc3 e6 4. Lg5 Lb4
+5. e3 Ld7 6. Sf3 dc 7. Lc4*
+\end{chess}
+\end{verbatim}
+ergibt :\\[2mm]
+\bf
+\begin{chess}
+1. d4 d5 2. c4 Sf6 3. Sc3 e6 4. Lg5 Lb4
+5. e3 Ld7 6. Sf3 dc 7. Lc4*
+\end{chess}\\[3mm]
+\rm
+Im Analysemodus haben einige der Buchstaben spezielle Bedeutungen,
+so wird aus jedem K,D,T,L,S ein |K,D,T,L,S|. Aus * wird, um das Schlagen einer Figur zu kennzeichnen, ein |*| und falls Schwarz in der Analyse am Zug ist kann mit : der entsprechende Platz |:| einr\"aumt werden.\par\parskip 3mm
+Abschlie\ss end noch einige Beispiele zum Analysemodus :
+\parindent 5mm
+\begin{center}
+\tabcolsep 5mm
+\begin{tabular}{ll}
+Eingabe & Ausgabe\\
+$\mid$21. Sf3-e5??$\mid$ &|21. Sf3-e5??|\\
+$\mid$21. : Ke8*f8$\mid$ &|21. : Ke8*f8|\\
+&\\
+\verb+\begin{chess}+&\\
+21. Sfe5, K*f8 &\begin{chess}21. Sfe5, K*f8\end{chess}\\
+21. : f8D+ &|21.: f8D+|\\
+\verb+\end{chess}+&\\
+\end{tabular}
+\end{center}\parindent 0pt\par
+%
+%
+%
+{\large \bf Fernschach}\par
+Unter Fernschach ist das Partieschach zu verstehen, bei dem die Z\"uge postalisch auf Fernschachkarten, Postkarten oder Briefen \"ubermittelt werden. Hinter dieser Definition steckt, da\ss\ jeder Fernschachspieler, und das sind in Deutschland ca. 10000, seine Spiele und Partiestellungen notieren und seine Z\"uge versenden mu\ss . Die Z\"uge werden \"ublicherweise auf vorgedruckten Fernschachkarten verschickt. Die Zugabgabe mu\ss\ in zweifelsfreier und ausreichender Notation \cite{to} erfolgen. Gebr\"auchlich ist die folgende Zahlennotation \\[2mm]
+\begin{tabular}{ccccc}
+Partie& Nr. & Ihr Zug & Nr. & Mein Zug\\
+1&13&1131&13&6848
+\end{tabular}\\[2mm]
+jedes Schachfeld wird hierbei durch eine zwei\-stellige Zahl bezeichnet (11\^{=}a1, 18\^{=}a8, 81\^{=}h1, 88\^{=}h8). Diese Notation ist zwar eindeutig, sieht aber f\"ur meinen Geschmack unsch\"on aus.
+Um die Vorteile von Piet Tutelaers CHESS.STY auch f\"ur Fernschachspieler nutzbar zu machen, habe ich deshalb ein Erweiterungsmakropaket BdF\-CHESS.STY erstellt. Das K\"urzel BdF steht zur Erinnerung an den alten Namen des Deutschen Fernschachbundes (BdF) \cite{bdf}, der bis vor einigen Jahren noch {\bf B}und {\bf d}eutscher {\bf F}ernschachfreunde hie\ss .
+Das Ma\-kro\-paket stellt z.B. die Befehle \bs postmove und \bs postply zur Verf\"ugung, die \"ahnlich wie \bs move und \bs ply arbeiten, zus\"atzlich aber die erforderlichen Ankunfts- und Abgangsdaten, sowie die Bedenkzeiten in einer \"ubersichtlichen Tabelle verwalten.
+Nachdem die Z\"uge in den Tabellen erstellt wurden, kann durch einen einzigen Befehl (\bs postcard(...,...)), die f\"ur die Zug\"ubermittlung notwendige Postkartenr\"uckseite gesetzt werden :\\[3mm]
+\setlength{\unitlength}{1mm}
+\small
+\begin{picture}(70,50)
+\put(0,0){\framebox(70,48.5){}}
+\put(6,24){\dashbox(23,23){Brett 1}}
+\put(41,24){\dashbox(23,23){Brett 2}}
+\put(3,12){\dashbox(28,10){Z\"uge Partie 1}}
+\put(38,12){\dashbox(28,10){Z\"uge Partie 2}}
+\put(5,2){\dashbox(23,9){Meine Daten}}
+\put(41,4){\dashbox(23,7){Ihre Daten}}
+\put(35,1){\dashbox(20,2){}}
+\end{picture}\\[3mm]
+\normalsize
+Sie zeigt die~aktuellen Partie\-stel\-lungen
+ (\bs showboard), was nat\"urlich den Brettaufbau zu Hause erleichtert und Hilfsmittel, wie Fernschachpartiealben mit Plastiksteckfiguren zum Festhalten der jeweiligen Stellung \"uberfl\"ussig macht. Die Z\"uge werden nicht mehr in der Zahlennotation, sondern in der algebra\-ischen Notation \\[2mm]
+\begin{tabular}{ccccc}
+Partie& Nr. & Ihr Zug & Nr. & Mein Zug\\
+1&13&|Ta1-c1|&13&|Df8*d8|
+\end{tabular}\\[2mm]
+\"ubermittelt. F\"ur internationale Turniere kann die Postkartensprache \"uber den Schalter \bs postcardlanguage[...] gew\"ahlt werden. Standardm\"a\ss ig mitgeliefert wird Deutsch, Englisch und Franz\"osisch, kann jedoch leicht selbst an andere Sprachen angepa\ss t werden. \\
+Die Postkartenvorderseite besteht aus Absender, Empf\"anger und optionalen Mitteilungen. Um sie zu setzen, m\"ussen die Makros \bs sender, \bs receiver und \bs cardmessage definiert werden. Da es sich um \glqq leere\grqq\ Definitionen handelt, k\"onnen sie individuell nach eigenem Geschmack gestaltet werden. Sie werden durch den Befehl \bs postcardaddress(...) nach folgendem Schema zur Postkarte zusammengesetzt: \\
+\small
+\begin{picture}(70,50)
+\put(0,0){\framebox(70,48.5){}}
+\put(56,36){\framebox(9,11){}}
+\put(1,1){\dashbox(30,32.5){Mitteilungen}}
+\put(1,33.5){\dashbox(30,14){Absender}}
+\put(36,1){\dashbox(32,32.5){Empf\"anger}}
+\end{picture}\\[3mm]
+\normalsize
+Die abschlie\ss enden Befehle von BdFCHESS ber\"ucksichtigen bei der Bedenkzeitberechnung Urlaubstage und erm\"oglichen es dem Schachpartner Eventualz\"uge vorzuschlagen.\par
+%
+%
+%
+{\large \bf Fazit und W\"unsche}\par
+In Deutschland sind ca. 100000 Schach\-spieler im Deutschen Schach\-bund organisiert. Ein Vielfaches davon ist an Schachprogrammen und -computern verkauft worden, so da\ss\ sicherlich \"ofter der Wunsch auftritt eine Schachpartie in ansprechender Form auszudrucken oder welcher Schachverein h\"atte nicht gerne eine Vereinszeitung.
+Die hier vorgestellten Makros und Fonts f\"ur \TeX\ und \LaTeX\ erlauben es dem Schachspieler in einfacher Weise Schachpartien und Schachstellungen zu setzen und zu kommentieren. Die Ergebnisse liegen in hervorragender Qualit\"at vor, die einen Ver\-gleich mit professionellen Schachzeitschriften und B\"uchern nicht zu scheuen brauchen. Und dies alles zum Nulltarif, die Makros und Fonts sind
+\glqq In the spirit of \TeX\grqq\ Public Domain. Subjektive Nachteile von CHESS.STY sind fr mich die zwingende Nutzung der Style-Files des BABEL-Systems zur Sprachumschaltung, die es nicht erm\"oglicht zum Beispiel GERMAN.STY 2.4a zu nutzen oder die fehlende Pr\"ufung auf unsinnige Z\"uge (ein Zug von einem leeren Feld wird als K\"onigszug akzeptiert). Die Eingabe von vielen Partien ist nach wie vor m\"uhsam und ein daf\"ur geeigneter Editor mit graphischer Oberfl\"ache und Mausunterst\"utzung w\"are eine feine Sache. Wer Informationen \"uber Dateiformate von Schachprogrammen hat, kann diese mir zuschicken, damit sie Ber\"ucksichtigung in einem Konvertierprogramm nach \TeX\ finden.\par
+\begin{thebibliography}{99}
+\bibitem{piet} Piet Tutelaers, A Font and a Style for Typesetting Chess using \LaTeX\ or \TeX , Dokumentation zu CHESS.STY erschienen in TUGboat.
+\bibitem{bdfchess} Frank Hassel, Im Kirschgarten 14, 55286 W\"orrstadt, A \LaTeX\ style for management of correspondence chess games, Dokumentation zu BdFCHESS.STY.
+\bibitem{bdf}Informationen zu Fernschachturnieren und -meisterschaften national und international vom Deutschen Fernschachbund (BdF), Postfach 2025, 37010 G\"ottingen.
+\bibitem{to} Turnierordnung des Deutschen Fernschachbundes \S\ 2.
+\end{thebibliography}
+%
+%
+%
+% Beispiele
+%
+%
+%
+\newpage
+{\bf \LaTeX \bf - Eingabe :}
+\tt
+\begin{flushleft}
+{\bs bf System des Damenfianchettos}\bs\bs \\
+\bs newgame\\
+\bs move c2c4 e7e5\\
+\bs ply b2b3\\[2.8cm]
+\$\$\bs showboard\$\$\\[2.8cm]
+Ein etwas passives System. Wei\ss \\
+m\"ochte Druck auf den zentralen\\
+Bauern e5 aus\"uben, r\"aumt dem Gegner\\
+dabei aber die M\"oglichkeit ein,\\
+seine Kr\"afte ungehindert zu\\
+mobilisieren.\\
+\bs ply g8f6\\
+\bs move c1b2 b8c6\\
+\bs move e2e3 f8e7\\
+Gut ist auch $\mid$4. : d5 5. cd S*d5\\
+6. a3 Ld6$\mid$ (Petrosjan-Balaschow,\\
+Moskau 1978).\\
+\bs move a2a3 e8g8\\
+\bs move d1c2 d7d5\\
+Oder $\mid$6. : Te8 7. d3 Lf8 8. Sd2 d5\\
+9. cd D*d5 10. Sgf3 Lg4 11. Le2 a5$\mid$\\
+mit gleichem Spiel (Psachis-\\
+Faibissowitsch, Leningrad 1979).\\
+\bs move c4d5 f6d5\\
+\bs move g1f3 e7f6\\
+\bs move d2d3 g7g6\\
+\bs move b1d2 f6g7\\
+\bs move a1c1 f8e8\\
+Die Chancen halten sich ungef\"ahr die\\
+Waage (Petrosjan-Sosonko,\\
+Tilburg 1981)
+\end{flushleft}\par
+\rm
+\vbox{
+\hbox to 150mm{\hss Beispiel einer \LaTeX -Eingabe und Ausgabe einer kommentierten Schacher\"offnung\hss}\newpage
+\hbox to 150mm{\hss aus Moderne Er\"offnungstheorie, Mark Taimanow, Englisch, S.124, Sportverlag Berlin.\hss}}
+\newpage
+{\bf Ergebnis :}\\[5mm]
+\centerline{\bf System des Damenfianchettos}\vskip 4mm
+\newgame
+\move c2c4 e7e5
+\ply b2b3
+$$\showboard$$
+Ein etwas passives System. Wei\ss\ m\"ochte Druck auf den zentralen Bauern e5 aus\"uben, r\"aumt dem Gegner dabei aber die M\"oglichkeit ein, seine Kr\"afte ungehindert zu mobilisieren.
+\ply g8f6
+\move c1b2 b8c6
+\move e2e3 f8e7
+Gut ist auch |4.: d5 5.cd S*d5 6.a3 Ld6| (Petrosjan-Balaschow,Moskau 1978).
+\move a2a3 e8g8
+\move d1c2 d7d5
+Oder |6.: Te8 7.d3 Lf8 8.Sd2 d5 9.cd D*d5 10.Sgf3 Lg4 11.Le2 a5| mit gleichem Spiel\\ (Psachis-Faibissowitsch, Leningrad 1979).
+\move c4d5 f6d5
+\move g1f3 e7f6
+\move d2d3 g7g6
+\move b1d2 f6g7
+\move a1c1 f8e8
+Die Chancen halten sich ungef\"ahr die Waage (Petrosjan-Sosonko, Tilburg 1981)
+\onecolumn
+\parskip 0pt
+\postcardlanguage{german}
+\centerline{\large \bf DANTE - Frank Hassel}
+\begin{gameone}
+\postmove 03.09.1987 0 e2e4 d7d6 11.09.1987 0
+\postmove 12.09.1987 2 d2d4 g8f6 15.09.1987 1
+\postmove 17.09.1987 2 b1c3 g7g6 21.09.1987 1
+$$\showinversboardwithnotation$$
+\end{gameone}\par
+\centerline{\large \bf Frank Hassel - DANTE}
+\begin{gametwo}
+\postmove 11.09.1987 0 d2d4 g8f6 12.09.1987 2
+\postmove 15.09.1987 1 c2c4 g7g6 17.09.1987 2
+\postply 21.09.1987 1 b1c3
+$$\showboardwithnotation$$
+\end{gametwo}\par
+Fertig gesetzte Tabelle der Fernschachpartien mit Ankunfts- und Abgangsdaten, Bedenkzeiten, Z\"ugen und Partiestellungen.
+\newpage
+\sender{\small Absender:\\
+ \large\bf Frank Hassel\\
+ Im Kirschgarten 14\\
+ 55286 W\"orrstadt}
+\receiver{\parskip 5mm\Large \bf
+ DANTE\vskip 2pt\hrule
+ Postfach 10 18 40\vskip 2pt\hrule
+ \LARGE \bf 69008 Heidelberg\vskip 2pt\hrule}
+\cardmessage{Mitteilungen}
+\postcard[f](0mm,0mm)\par
+\postcardaddress[tf](0mm,20mm)\par\vskip 5mm
+Fernschachkartenr\"uck- und Vorderseite
+\end{document}
+
+\end{document}
diff --git a/fonts/chess/bdfchess/readme.bdf b/fonts/chess/bdfchess/readme.bdf
new file mode 100644
index 0000000000..6b970eb5b7
--- /dev/null
+++ b/fonts/chess/bdfchess/readme.bdf
@@ -0,0 +1,31 @@
+BDFCHESS.STY are additional macros to CHESS.STY 1.2, writen by
+Piet Tutelaers, for correspondence chess players.
+For example it manages the moves and considertimes in a tabular
+and typesets a correspondence postcard by the rules of the ICCF
+(International Correspondence Chess Federation). It also adds
+macros for typesetting the chessboard with notation and invers
+or to store positions.
+For complete documentation please refer BDFENGL.DVI or BDFGERM.DVI.
+Frank Hassel
+
+Files :
+BDFCHESS.STY Main style file
+BDFENGL.TEX LATeX source for the english documentation
+BDFENGL.DVI Compiled documentation
+BDFGERM.TEX LATeX Source der deutschen Dokumentation
+BDFGERM.DVI Kompilierte deutsche Dokumentation
+KOMOED.TEX Artikel der in der TeXnischen Komodie von DANTE e.V. erschien
+KOMOED.DVI Kompilierte Version
+CHESS12.ERR Errors in CHESS.STY 1.2 read first !
+CHESSKEY.STY Style-File fuer Eintragungen nach dem Enzyklopaedie-Index
+KEYDOC.TEX Dokumentation zu CHESSKEY.STY
+TESTKEY.TEX Testdatei zu CHESSKEY.STY
+Fonts :
+CHESS10F.300 PK-File with resolution 300 DPI
+CHESS10F.MF Metafont-source
+CHESS10F.TFM TFM-File
+CHESS15.300 PK-File with resolution 300 DPI
+CHESS15.MF Metafont-source
+CHESS15.TFM TFM-File
+
+README.BDF This file
diff --git a/fonts/chess/bdfchess/testkey.dvi b/fonts/chess/bdfchess/testkey.dvi
new file mode 100644
index 0000000000..bb569d30cf
--- /dev/null
+++ b/fonts/chess/bdfchess/testkey.dvi
Binary files differ
diff --git a/fonts/chess/bdfchess/testkey.tex b/fonts/chess/bdfchess/testkey.tex
new file mode 100644
index 0000000000..d0132cefde
--- /dev/null
+++ b/fonts/chess/bdfchess/testkey.tex
@@ -0,0 +1,94 @@
+%------------ Text : TESTKEY erstellt am 27.12.1993---------
+\documentstyle[twocolumn,chess,chesskey]{article}
+%
+\topmargin -15mm
+\textheight 240mm
+%
+\parindent 0mm
+\parskip 2mm
+\hbadness=10000
+\vbadness=10000
+%
+\newcommand{\partie}[1]{%
+\parbox{12mm}{\small \bf #1}
+\begin{minipage}{56mm}
+\begin{center}
+\key{#1}
+\end{center}
+\end{minipage}\par}
+%
+\newcount\zahl \zahl=0
+%
+\begin{document}
+\twocolumn[\Large \bf Enzyklop„die-Index\footnotemark der Schacher”ffnungen\vspace*{4mm}]
+\footnotetext[1]{aus Sergiu Samarian,\\ Internationales Schlsselbuch der Schacher”ffnungen,\\ Schachverlag Rudi Schmaus, Rohrbacher Straáe 27,\\ D-69115 Heidelberg}%
+% A00 - A99
+\loop
+\ifnum\zahl=0
+\partie{A00a}
+\partie{A00b}
+\partie{A00c}
+\else
+\ifnum\zahl=2
+\partie{A02a}
+\partie{A02b}
+\else
+\ifnum\zahl=40
+\partie{A40a}
+\partie{A40b}
+\else
+\partie{A\number\zahl}
+\fi\fi\fi
+\ifnum\zahl<99 \advance\zahl by 1
+\repeat
+%
+%
+% B00 - B99
+\zahl=0
+\loop
+\ifnum\zahl=0
+\partie{B00a}
+\partie{B00b}
+\else
+\ifnum\zahl=20
+\partie{B20a}
+\partie{B20b}
+\else
+\ifnum\zahl=21
+\partie{B21a}
+\partie{B21b}
+\else
+\partie{B\number\zahl}
+\fi\fi\fi
+\ifnum\zahl<99 \advance\zahl by 1
+\repeat
+%
+%
+% C00 - C99
+\zahl=0
+\loop
+\ifnum\zahl=96
+\partie{C96a}
+\partie{C96b}
+\else
+\partie{C\number\zahl}
+\fi
+\ifnum\zahl<99 \advance\zahl by 1
+\repeat
+%
+%
+% D00 - D99
+\zahl=0
+\loop
+\partie{D\number\zahl}
+\ifnum\zahl<99 \advance\zahl by 1
+\repeat
+%
+%
+% E00 - E99
+\zahl=0
+\loop
+\partie{E\number\zahl}
+\ifnum\zahl<99 \advance\zahl by 1
+\repeat
+\end{document}