summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/chessboard/chessboard-keys-main.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/chessboard/chessboard-keys-main.sty')
-rw-r--r--Master/texmf-dist/tex/latex/chessboard/chessboard-keys-main.sty1539
1 files changed, 1539 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/chessboard/chessboard-keys-main.sty b/Master/texmf-dist/tex/latex/chessboard/chessboard-keys-main.sty
new file mode 100644
index 00000000000..ce890281ce8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/chessboard/chessboard-keys-main.sty
@@ -0,0 +1,1539 @@
+%%
+%% This is file `chessboard-keys-main.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% chessboard-src.dtx (with options: `keysmain')
+%%
+%% chessboard: a package to print chessboards
+%% Copyright 2006 UlrikeFischer (skak@nililand.de)
+%% -------------------------------------------
+%%
+%% This file can be redistributed and/or modified under the terms of
+%% the LaTeX Project Public License distributed from CTAN archives in
+%% the directory macros/latex/base/lppl.txt; either version 1 of the
+%% License, or (at your option) any later version.
+%%
+%% For error reports see documentation.
+\ProvidesFile{chessboard-keys-main.sty}[2007/12/20 key definitions
+for chessboard.sty v1.5 ]
+
+%%file=Linie=column=vertikal=al_f_abetisch= a-h
+%%rank=Reihe=row=horizontal=numbe_r_=1-8
+
+%%%%%%%%%%%%%%%%%%%%%
+%%%% Keys
+%%%%%%%%%%%%%%%%%%%%%
+%%%%
+%%% Nullkey, does nothing
+%%%%
+\define@key[UFCB]{locinit}{@null}{}
+\define@key[UFCB]{locset}{@null}{}
+\define@key[UFCB]{locfill}{@null}{}
+\define@key[UFCB]{gloinit}{@null}{}
+\define@key[UFCB]{gloset}{@null}{}
+\define@key[UFCB]{glofill}{@null}{}
+%%%%
+
+%% internal Keys to expand styles, added in 1.4. to repair xkeyval problem
+
+\define@key[UFCB]{@start}{style}{%
+ \toks@=\expandafter\expandafter\expandafter{\csname board@val@style#1keylist\endcsname}%
+ \edef\@@next{\noexpand\board@do@l@addto@macro\noexpand\board@temp@keylist{,\the\toks@}}%
+ \@@next}
+
+\define@key[UFCB]{@start}{board@expand}{%
+ \@for\board@temp@keypair:=#1\do
+ {\expandafter\XKV@g@tkeyname\board@temp@keypair=\@nil\board@temp@keyname
+ \edef\next{\noexpand\key@ifundefined[UFCB]{@start}{\board@temp@keyname}}%
+ \next{\expandafter\board@do@l@addto@macro\expandafter\board@temp@keylist\expandafter{\expandafter,\board@temp@keypair}}%
+ {\edef\@next{\noexpand\setkeys[UFCB]{@start}{\board@temp@keypair}}\@next}}}%
+
+%%%%%
+%%% Init keys
+%%%%
+
+%%%
+%% style, can contain any key, so should be processed at start (init).
+%%%
+
+\define@key[UFCB]{locinit}{style}{% D
+ \csname board@use@locstyle@#1\endcsname}
+
+\define@key[UFCB]{gloinit}{style}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,style=#1}}
+
+%%%
+%% defaults, should only be set globally (don't make sense elsewhere)
+%%%
+
+\define@choicekey*[UFCB]{gloinit}{moverdefault}[\board@val@mover]{w,b}{}
+\define@key[UFCB]{gloinit}{castlingdefault}{\def\board@val@castling{#1}}
+\define@key[UFCB]{gloinit}{enpassantdefault}{\def\board@val@enpassant{#1}}
+\define@key[UFCB]{gloinit}{halfmovedefault}{\def\board@val@halfmove{#1}}
+\define@key[UFCB]{gloinit}{fullmovedefault}{\def\board@val@fullmove{#1}}
+
+%%% Dimension of the board
+%%% the right-top corner. Used from clearboard and to set pieces with position
+
+\define@key[UFCB]{locinit}{maxfield}{% D
+ \expandafter\board@split@field#1ARGEND%
+ \edef\board@val@maxfilechar{\board@temp@curfilechar}%
+ \edef\board@val@maxfilenum{\board@temp@curfilenum}%
+ \edef\board@val@maxranknum{\board@temp@curranknum}%
+ %% start rank numbers
+ \edef\board@val@startfenranknum{\board@temp@curranknum}%
+ \edef\board@val@startfillranknum{\board@temp@curranknum}%
+ \edef\board@val@startprintranknum{\board@temp@curranknum}%
+ \edef\board@val@startstoreranknum{\board@temp@curranknum}%
+ %% stop file numbers
+ \edef\board@val@stopfillfilenum{\board@temp@curfilenum}%
+ \edef\board@val@stopprintfilenum{\board@temp@curfilenum}%
+ \edef\board@val@stopstorefilenum{\board@temp@curfilenum}%
+ %% stop file chars
+ \edef\board@val@stopfillfilechar{\board@temp@curfilechar}%
+ \edef\board@val@stopprintfilechar{\board@temp@curfilechar}%
+ \edef\board@val@stopstorefilechar{\board@temp@curfilechar}%
+ }
+
+\define@key[UFCB]{gloinit}{maxfield}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,maxfield=#1}{}}
+
+%%% the left-bottom corner can be set to start with @0.
+%%% Used from clearboard and to set pieces with fen
+%%% boolean key, true is the default, that is zero is the same as zero=true
+
+\define@boolkey[UFCB]{locinit}{zero}[true]{% D
+ \ifUFCB@locinit@zero
+ \def\board@temp@char{Z}%
+ \def\board@temp@num{0}%
+ \else
+ \def\board@temp@char{a}%
+ \def\board@temp@num{1}%
+ \fi
+ \edef\board@val@minfilechar{\board@temp@char}%
+ \edef\board@val@minfilenum{\board@temp@num}%
+ \edef\board@val@minranknum{\board@temp@num}%
+ %% start file numbers
+ \edef\board@val@startfenfilenum{\board@temp@num}%
+ \edef\board@val@startfillfilenum{\board@temp@num}%
+ \edef\board@val@startprintfilenum{\board@temp@num}%
+ \edef\board@val@startstorefilenum{\board@temp@num}%
+ %% start file chars
+ \edef\board@val@startfenfilechar{\board@temp@char}%
+ \edef\board@val@startfillfilechar{\board@temp@char}%
+ \edef\board@val@startprintfilechar{\board@temp@char}%
+ \edef\board@val@startstorefilechar{\board@temp@char}%
+ %% stop rank numbers
+ \edef\board@val@stopfillranknum{\board@temp@num}%
+ \edef\board@val@stopprintranknum{\board@temp@num}%
+ \edef\board@val@stopstoreranknum{\board@temp@num}%
+ }
+
+\define@key[UFCB]{gloinit}{zero}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,zero=#1}{}}
+
+%%% disable the printing
+\define@boolkey[UFCB]{locinit}{print}[true]{} %D
+
+\define@boolkey[UFCB]{gloinit}{print}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,print=#1}{}}
+
+%%%%%%
+%% Set-keys
+%%%%%%
+%%% "print corner"
+
+\define@key[UFCB]{locset}{startprint}{% D
+ \expandafter\board@split@field#1ARGEND%
+ \let\board@val@startprintfilechar\board@temp@curfilechar
+ \let\board@val@startprintfilenum\board@temp@curfilenum
+ \let\board@val@startprintranknum\board@temp@curranknum}
+
+\define@key[UFCB]{gloset}{startprint}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,startprint=#1}{}}
+
+\define@key[UFCB]{locset}{stopprint}{% D
+ \expandafter\board@split@field#1ARGEND%
+ \let\board@val@stopprintfilechar\board@temp@curfilechar
+ \let\board@val@stopprintfilenum\board@temp@curfilenum%
+ \let\board@val@stopprintranknum\board@temp@curranknum}
+
+\define@key[UFCB]{gloset}{stopprint}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,stopprint=#1}{}}
+
+\define@key[UFCB]{locset}{printarea}{% a7-f1 % D
+ \expandafter\board@split@areasort#1ARGEND%
+ \board@do@setsinglekeys*[UFCB]{locset}{%
+ startprint=\board@temp@curstartfield, stopprint=\board@temp@curstopfield}}%
+
+\define@key[UFCB]{gloset}{printarea}{% a7-f1 % D
+ \board@do@l@addto@macro\board@val@savedkeylist{,printarea=#1}{}}%
+
+%%% print inverse
+
+\define@boolkey[UFCB]{locset}{inverse}[true]{} % D
+
+\define@boolkey[UFCB]{gloset}{inverse}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,inverse=#1}{}}
+
+%%%
+%% margin
+%%%
+
+\define@key[UFCB]{locset}{marginleftwidth}{% D
+ \def\board@val@marginleftwidth{#1}}
+
+\define@key[UFCB]{gloset}{marginleftwidth}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,marginleftwidth=#1}{}}
+
+\define@key[UFCB]{locset}{marginrightwidth}{% D
+ \def\board@val@marginrightwidth{#1}}
+
+\define@key[UFCB]{gloset}{marginrightwidth}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,marginrightwidth=#1}{}}
+
+\define@key[UFCB]{locset}{margintopwidth}{% D
+ \def\board@val@margintopwidth{#1}}
+
+\define@key[UFCB]{gloset}{margintopwidth}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,margintopwidth=#1}{}}
+
+\define@key[UFCB]{locset}{marginbottomwidth}{% D
+ \def\board@val@marginbottomwidth{#1}}
+
+\define@key[UFCB]{gloset}{marginbottomwidth}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,marginbottomwidth=#1}{}}
+
+\define@key[UFCB]{locset}{hmarginwidth}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{marginleftwidth=#1, marginrightwidth=#1}}
+
+\define@key[UFCB]{gloset}{hmarginwidth}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{marginleftwidth=#1, marginrightwidth=#1}}
+
+\define@key[UFCB]{locset}{vmarginwidth}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{margintopwidth=#1, marginbottomwidth=#1}}
+
+\define@key[UFCB]{gloset}{vmarginwidth}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{margintopwidth=#1, marginbottomwidth=#1}}
+
+\define@key[UFCB]{locset}{marginwidth}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{%
+ marginleftwidth=#1, marginrightwidth=#1, margintopwidth=#1, marginbottomwidth=#1}}
+
+\define@key[UFCB]{gloset}{marginwidth}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{%
+ marginleftwidth=#1, marginrightwidth=#1, margintopwidth=#1, marginbottomwidth=#1}}
+
+\define@boolkey[UFCB]{locset}{marginleft}[true]{} %D
+
+\define@boolkey[UFCB]{gloset}{marginleft}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,marginleft=#1}{}}
+
+\define@boolkey[UFCB]{locset}{marginright}[true]{} %D
+
+\define@boolkey[UFCB]{gloset}{marginright}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,marginright=#1}{}}
+
+\define@boolkey[UFCB]{locset}{margintop}[true]{} %D
+
+\define@boolkey[UFCB]{gloset}{margintop}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,margintop=#1}{}}
+
+\define@boolkey[UFCB]{locset}{marginbottom}[true]{} %D
+
+\define@boolkey[UFCB]{gloset}{marginbottom}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,marginbottom=#1}{}}
+
+\define@boolkey[UFCB]{locset}{hmargin}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{marginleft=#1, marginright=#1}}
+
+\define@boolkey[UFCB]{gloset}{hmargin}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{marginleft=#1, marginright=#1}}
+
+\define@boolkey[UFCB]{locset}{vmargin}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{margintop=#1, marginbottom=#1}}
+
+\define@boolkey[UFCB]{gloset}{vmargin}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{margintop=#1, marginbottom=#1}}
+
+\define@boolkey[UFCB]{locset}{margin}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{marginleft=#1, marginright=#1, margintop=#1, marginbottom=#1}}
+
+\define@boolkey[UFCB]{gloset}{margin}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{marginleft=#1, marginright=#1, margintop=#1, marginbottom=#1}}
+
+%% border
+
+\define@boolkey[UFCB]{locset}{borderleft}[true]{} % D
+
+\define@boolkey[UFCB]{gloset}{borderleft}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,borderleft=#1}{}}
+
+\define@boolkey[UFCB]{locset}{borderright}[true]{} % D
+
+\define@boolkey[UFCB]{gloset}{borderright}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,borderright=#1}{}}
+
+\define@boolkey[UFCB]{locset}{bordertop}[true]{} %D
+
+\define@boolkey[UFCB]{gloset}{bordertop}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,bordertop=#1}{}}
+
+\define@boolkey[UFCB]{locset}{borderbottom}[true]{} %D
+
+\define@boolkey[UFCB]{gloset}{borderbottom}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,borderbottom=#1}{}}
+
+\define@boolkey[UFCB]{locset}{hborder}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{borderleft=#1, borderright=#1}}
+
+\define@boolkey[UFCB]{gloset}{hborder}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{borderleft=#1, borderright=#1}}
+
+\define@boolkey[UFCB]{locset}{vborder}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{bordertop=#1, borderbottom=#1}}
+
+\define@boolkey[UFCB]{gloset}{vborder}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{bordertop=#1, borderbottom=#1}}
+
+\define@boolkey[UFCB]{locset}{border}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{borderleft=#1, borderright=#1, bordertop=#1, borderbottom=#1}}
+
+\define@boolkey[UFCB]{gloset}{border}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{borderleft=#1, borderright=#1, bordertop=#1, borderbottom=#1}}
+
+\define@key[UFCB]{locset}{borderleftwidth}{% D
+ \def\board@val@borderleftwidth{#1}}
+
+\define@key[UFCB]{gloset}{borderleftwidth}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,borderleftwidth=#1}{}}
+
+\define@key[UFCB]{locset}{borderrightwidth}{% D
+ \def\board@val@borderrightwidth{#1}}
+
+\define@key[UFCB]{gloset}{borderrightwidth}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,borderrightwidth=#1}{}}
+
+\define@key[UFCB]{locset}{bordertopwidth}{% D
+ \def\board@val@bordertopwidth{#1}}
+
+\define@key[UFCB]{gloset}{bordertopwidth}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,bordertopwidth=#1}{}}
+
+\define@key[UFCB]{locset}{borderbottomwidth}{% D
+ \def\board@val@borderbottomwidth{#1}}
+
+\define@key[UFCB]{gloset}{borderbottomwidth}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,borderbottomwidth=#1}{}}
+
+\define@key[UFCB]{locset}{hborderwidth}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{borderleftwidth=#1, borderrightwidth=#1}}
+
+\define@key[UFCB]{gloset}{hborderwidth}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{borderleftwidth=#1, borderrightwidth=#1}}
+
+\define@key[UFCB]{locset}{vborderwidth}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{bordertopwidth=#1, borderbottomwidth=#1}}
+
+\define@key[UFCB]{gloset}{vborderwidth}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{bordertopwidth=#1, borderbottomwidth=#1}}
+
+\define@key[UFCB]{locset}{borderwidth}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{%
+ borderleftwidth=#1, borderrightwidth=#1, bordertopwidth=#1, borderbottomwidth=#1}}
+
+\define@key[UFCB]{gloset}{borderwidth}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{%
+ borderleftwidth=#1, borderrightwidth=#1, bordertopwidth=#1, borderbottomwidth=#1}}
+
+%%% border color
+
+\define@key[UFCB]{locset}{borderleftcolor}{% D
+ \def\board@val@borderleftcolor{\color{#1}}}
+
+\define@key[UFCB]{gloset}{borderleftcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,borderleftcolor=#1}{}}
+
+\define@key[UFCB]{locset}{borderrightcolor}{% D
+ \def\board@val@borderrightcolor{\color{#1}}}
+
+\define@key[UFCB]{gloset}{borderrightcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,borderrightcolor=#1}{}}
+
+\define@key[UFCB]{locset}{bordertopcolor}{% D
+ \def\board@val@bordertopcolor{\color{#1}}}
+
+\define@key[UFCB]{gloset}{bordertopcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,bordertopcolor=#1}{}}
+
+\define@key[UFCB]{locset}{borderbottomcolor}{% D
+ \def\board@val@borderbottomcolor{\color{#1}}}
+
+\define@key[UFCB]{gloset}{borderbottomcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,borderbottomcolor=#1}{}}
+
+\define@key[UFCB]{locset}{hbordercolor}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{borderleftcolor=#1, borderrightcolor=#1}}
+
+\define@key[UFCB]{gloset}{hbordercolor}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{borderleftcolor=#1, borderrightcolor=#1}}
+
+\define@key[UFCB]{locset}{vbordercolor}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{bordertopcolor=#1, borderbottomcolor=#1}}
+
+\define@key[UFCB]{gloset}{vbordercolor}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{bordertopcolor=#1, borderbottomcolor=#1}}
+
+\define@key[UFCB]{locset}{bordercolor}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{%
+ borderleftcolor=#1, borderrightcolor=#1, bordertopcolor=#1, borderbottomcolor=#1}}
+
+\define@key[UFCB]{gloset}{bordercolor}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{%
+ borderleftcolor=#1, borderrightcolor=#1, bordertopcolor=#1, borderbottomcolor=#1}}
+
+%%%%
+%% font
+%%%
+
+\define@key[UFCB]{locset}{boardfontsize}{% D
+ \setboardfontsize{#1}}
+
+\define@key[UFCB]{gloset}{boardfontsize}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,boardfontsize=#1}{}}
+
+\define@key[UFCB]{locset}{boardfontfamily}{% D
+ \setboardfontfamily{#1}}
+
+\define@key[UFCB]{gloset}{boardfontfamily}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,boardfontfamily=#1}{}}
+
+\define@key[UFCB]{locset}{boardfontseries}{% D
+ \setboardfontseries{#1}}
+
+\define@key[UFCB]{gloset}{boardfontseries}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,boardfontseries=#1}{}}
+
+%% shorter name:
+
+\define@key[UFCB]{locset}{fontsize}{%
+ \board@do@setsinglekeys*[UFCB]{locset}{boardfontsize=#1}}
+
+\define@key[UFCB]{gloset}{fontsize}{%
+ \board@do@setsinglekeys*[UFCB]{gloset}{boardfontsize=#1}}
+
+\define@key[UFCB]{locset}{fontfamily}{%
+ \board@do@setsinglekeys*[UFCB]{locset}{boardfontfamily=#1}}
+
+\define@key[UFCB]{gloset}{fontfamily}{%
+ \board@do@setsinglekeys*[UFCB]{locset}{boardfontfamily=#1}}
+
+%%% only for the sake of completeness. Better don't mention it.
+\define@key[UFCB]{locset}{boardfontencoding}{% D
+ \def\cfss@boardfontencoding{#1}}
+
+\define@key[UFCB]{gloset}{boardfontencoding}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,boardfontencoding=#1}{}}
+
+%%% mover
+
+\define@boolkey[UFCB]{locset}{showmover}[true]{} % D
+
+\define@boolkey[UFCB]{gloset}{showmover}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,showmover=#1}{}}
+
+\define@key[UFCB]{locset}{moversize}{% D
+ \def\board@val@moversize{#1}}
+
+\define@key[UFCB]{gloset}{moversize}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,moversize=#1}{}}
+
+\define@key[UFCB]{locset}{moverstyle}{% D
+ \def\board@val@moverstyle{#1}}
+
+\define@key[UFCB]{gloset}{moverstyle}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,moverstyle=#1}{}}
+
+\define@key[UFCB]{locset}{moverbottomlift}{% D
+ \def\board@val@moverbottomlift{#1}}
+
+\define@key[UFCB]{gloset}{moverbottomlift}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,moverbottomlift=#1}{}}
+
+\define@key[UFCB]{locset}{movertoplift}{% D
+ \def\board@val@movertoplift{#1}}
+
+\define@key[UFCB]{gloset}{movertoplift}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,movertoplift=#1}{}}
+
+\define@key[UFCB]{locset}{moverlift}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{moverbottomlift=#1,movertoplift=#1}}
+
+\define@key[UFCB]{gloset}{moverlift}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{moverbottomlift=#1,movertoplift=#1}}
+
+\define@key[UFCB]{locset}{moverbottomshift}{% D
+ \def\board@val@moverbottomshift{#1}}
+
+\define@key[UFCB]{gloset}{moverbottomshift}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,moverbottomshift=#1}{}}
+
+\define@key[UFCB]{locset}{movertopshift}{% D
+ \def\board@val@movertopshift{#1}}
+
+\define@key[UFCB]{gloset}{movertopshift}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,movertopshift=#1}{}}
+
+\define@key[UFCB]{locset}{movershift}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{moverbottomshift=#1, movertopshift=#1}}
+
+\define@key[UFCB]{gloset}{movershift}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{moverbottomshift=#1, movertopshift=#1}}
+
+%%% labels
+
+\define@boolkey[UFCB]{locset}{labelleft}[true]{} %D
+
+\define@boolkey[UFCB]{gloset}{labelleft}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labelleft=#1}{}}
+
+\define@boolkey[UFCB]{locset}{labelright}[true]{} %D
+
+\define@boolkey[UFCB]{gloset}{labelright}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labelright=#1}{}}
+
+\define@boolkey[UFCB]{locset}{labeltop}[true]{} %D
+
+\define@boolkey[UFCB]{gloset}{labeltop}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labeltop=#1}{}}
+
+\define@boolkey[UFCB]{locset}{labelbottom}[true]{} %D
+
+\define@boolkey[UFCB]{gloset}{labelbottom}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labelbottom=#1}{}}
+
+\define@boolkey[UFCB]{locset}{hlabel}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{labelleft=#1, labelright=#1}}
+
+\define@boolkey[UFCB]{gloset}{hlabel}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{labelleft=#1, labelright=#1}}
+
+\define@boolkey[UFCB]{locset}{vlabel}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{labeltop=#1, labelbottom=#1}}
+
+\define@boolkey[UFCB]{gloset}{vlabel}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{labeltop=#1, labelbottom=#1}}
+
+\define@boolkey[UFCB]{locset}{label}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{%
+ labelleft=#1, labelright=#1, labeltop=#1, labelbottom=#1}}
+
+\define@boolkey[UFCB]{gloset}{label}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{%
+ labelleft=#1, labelright=#1, labeltop=#1, labelbottom=#1}}
+
+%% width
+\define@key[UFCB]{locset}{labelleftwidth}{% D
+ \def\board@val@labelleftwidth{#1}}
+
+\define@key[UFCB]{gloset}{labelleftwidth}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labelleftwidth=#1}{}}
+
+\define@key[UFCB]{locset}{labelrightwidth}{% D
+ \def\board@val@labelrightwidth{#1}}
+
+\define@key[UFCB]{gloset}{labelrightwidth}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labelrightwidth=#1}{}}
+
+\define@key[UFCB]{locset}{labelbottomwidth}{% D
+ \def\board@val@labelbottomwidth{#1}}
+
+\define@key[UFCB]{gloset}{labelbottomwidth}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labelbottomwidth=#1}{}}
+
+\define@key[UFCB]{locset}{hlabelwidth}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{labelleftwidth=#1, labelrightwidth=#1}}
+
+\define@key[UFCB]{gloset}{hlabelwidth}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{labelleftwidth=#1, labelrightwidth=#1}}
+
+%% lift
+\define@key[UFCB]{locset}{labelleftlift}{% D
+ \def\board@val@labelleftlift{#1}}
+
+\define@key[UFCB]{gloset}{labelleftlift}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labelleftlift=#1}{}}
+
+\define@key[UFCB]{locset}{labelrightlift}{% D
+ \def\board@val@labelrightlift{#1}}
+
+\define@key[UFCB]{gloset}{labelrightlift}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labelrightlift=#1}{}}
+
+\define@key[UFCB]{locset}{labeltoplift}{% D
+ \def\board@val@labeltoplift{#1}}
+
+\define@key[UFCB]{gloset}{labeltoplift}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labeltoplift=#1}{}}
+
+\define@key[UFCB]{locset}{labelbottomlift}{% D
+ \def\board@val@labelbottomlift{#1}}
+
+\define@key[UFCB]{gloset}{labelbottomlift}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labelbottomlift=#1}{}}
+
+\define@key[UFCB]{locset}{hlabellift}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{labelleftlift=#1, labelrightlift=#1}}
+
+\define@key[UFCB]{gloset}{hlabellift}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{labelleftlift=#1, labelrightlift=#1}}
+
+\define@key[UFCB]{locset}{vlabellift}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{labeltoplift=#1, labelbottomlift=#1}}
+
+\define@key[UFCB]{gloset}{vlabellift}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{labeltoplift=#1, labelbottomlift=#1}}
+
+%% font
+
+\define@key[UFCB]{locset}{labelleftfont}{% D
+ \def\board@val@labelleftfont{#1}}
+
+\define@key[UFCB]{gloset}{labelleftfont}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labelleftfont=#1}{}}
+
+\define@key[UFCB]{locset}{labelrightfont}{% D
+ \def\board@val@labelrightfont{#1}}
+
+\define@key[UFCB]{gloset}{labelrightfont}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labelrightfont=#1}{}}
+
+\define@key[UFCB]{locset}{labeltopfont}{% D
+ \def\board@val@labeltopfont{#1}}
+
+\define@key[UFCB]{gloset}{labeltopfont}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labeltopfont=#1}{}}
+
+\define@key[UFCB]{locset}{labelbottomfont}{% D
+ \def\board@val@labelbottomfont{#1}}
+
+\define@key[UFCB]{gloset}{labelbottomfont}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labelbottomfont=#1}{}}
+
+\define@key[UFCB]{locset}{hlabelfont}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{labelleftfont=#1, labelrightfont=#1}}
+
+\define@key[UFCB]{gloset}{hlabelfont}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{labelleftfont=#1, labelrightfont=#1}}%
+
+\define@key[UFCB]{locset}{vlabelfont}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{labeltopfont=#1, labelbottomfont=#1}}%
+
+\define@key[UFCB]{gloset}{vlabelfont}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{labeltopfont=#1, labelbottomfont=#1}}%
+
+\define@key[UFCB]{locset}{labelfont}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{%
+ labelleftfont=#1, labelrightfont=#1, labeltopfont=#1, labelbottomfont=#1}}%
+
+\define@key[UFCB]{gloset}{labelfont}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{labelleftfont=#1, labelrightfont=#1, labeltopfont=#1, labelbottomfont=#1}}%
+
+%%fontsize
+
+\define@key[UFCB]{locset}{labelfontsize}{% D
+ \def\cfss@sidefontsize{#1}}%
+
+\define@key[UFCB]{gloset}{labelfontsize}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labelfontsize=#1}{}}%
+
+%% formatting
+
+\define@key[UFCB]{locset}{labelleftformat}{% D
+ \def\board@val@labelleftformat{#1}}%
+
+\define@key[UFCB]{gloset}{labelleftformat}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labelleftformat={#1}}{}}%
+
+\define@key[UFCB]{locset}{labelrightformat}{% D
+ \def\board@val@labelrightformat{#1}}%
+
+\define@key[UFCB]{gloset}{labelrightformat}{%D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labelrightformat={#1}}{}}%
+
+\define@key[UFCB]{locset}{labeltopformat}{% D
+ \def\board@val@labeltopformat{#1}}%
+
+\define@key[UFCB]{gloset}{labeltopformat}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labeltopformat={#1}}{}}%
+
+\define@key[UFCB]{locset}{labelbottomformat}{% D
+ \def\board@val@labelbottomformat{#1}}%
+
+\define@key[UFCB]{gloset}{labelbottomformat}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,labelbottomformat={#1}}{}}%
+
+\define@key[UFCB]{locset}{hlabelformat}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{labelleftformat=#1, labelrightformat=#1}}%
+
+\define@key[UFCB]{gloset}{hlabelformat}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{labelleftformat={#1}, labelrightformat={#1}}}%
+
+\define@key[UFCB]{locset}{vlabelformat}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{labeltopformat=#1, labelbottomformat=#1}}%
+
+\define@key[UFCB]{gloset}{vlabelformat}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{labeltopformat={#1}, labelbottomformat={#1}}}%
+
+\define@key[UFCB]{locset}{labelformat}{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{%
+ labelleftformat=#1, labelrightformat=#1, labeltopformat=#1, labelbottomformat=#1}}%
+
+\define@key[UFCB]{gloset}{labelformat}{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{%
+ labelleftformat={#1}, labelrightformat={#1}, labeltopformat={#1}, labelbottomformat={#1}}}%
+
+%%%
+%% Board sizes
+%%%
+
+\define@key[UFCB]{locset}{tinyboard}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{fontsize=10pt, labelfontsize=6pt}}%
+
+\define@key[UFCB]{gloset}{tinyboard}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{fontsize=10pt, labelfontsize=6pt}}%
+
+\define@key[UFCB]{locset}{smallboard}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{fontsize=15pt, labelfontsize=8pt}}%
+
+\define@key[UFCB]{gloset}{smallboard}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{fontsize=15pt, labelfontsize=8pt}}%
+
+\define@key[UFCB]{locset}{normalboard}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{fontsize=20pt, labelfontsize=10pt}}%
+
+\define@key[UFCB]{gloset}{normalboard}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{fontsize=20pt, labelfontsize=10pt}}%
+
+\define@key[UFCB]{locset}{largeboard}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{locset}{fontsize=30pt, labelfontsize=12pt}}%
+
+\define@key[UFCB]{gloset}{largeboard}[true]{% D
+ \board@do@setsinglekeys*[UFCB]{gloset}{fontsize=30pt, labelfontsize=12pt}}%
+
+%%% coloring the font layer
+\define@key[UFCB]{locfill}{clearfontcolors}[true]{% D
+ \def\board@val@fontcolorstack{}}
+
+\define@key[UFCB]{glofill}{clearfontcolors}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,clearfontcolors=#1}{}}%
+
+\define@key[UFCB]{locfill}{whitefieldmaskcolor}{% D
+ \board@do@l@addto@macro\board@val@fontcolorstack
+ {\def\cfss@whitefieldmaskcolor{\color{#1}}}}
+
+\define@key[UFCB]{glofill}{whitefieldmaskcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,whitefieldmaskcolor=#1}{}}%
+
+\define@key[UFCB]{locfill}{blackfieldmaskcolor}{% D
+ \board@do@l@addto@macro\board@val@fontcolorstack
+ {\def\cfss@blackfieldmaskcolor{\color{#1}}}}
+
+\define@key[UFCB]{glofill}{blackfieldmaskcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,blackfieldmaskcolor=#1}{}}%
+
+\define@key[UFCB]{locfill}{fieldmaskcolor}{% D
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ whitefieldmaskcolor=#1,
+ blackfieldmaskcolor=#1}}
+
+\define@key[UFCB]{glofill}{fieldmaskcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,fieldmaskcolor=#1}{}}%
+
+\define@key[UFCB]{locfill}{whitefieldcolor}{% D
+ \board@do@l@addto@macro\board@val@fontcolorstack
+ {\def\cfss@whitefieldcolor{\color{#1}}}}
+
+\define@key[UFCB]{glofill}{whitefieldcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,whitefieldcolor=#1}{}}%
+
+\define@key[UFCB]{locfill}{blackfieldcolor}{% D
+ \board@do@l@addto@macro\board@val@fontcolorstack
+ {\def\cfss@blackfieldcolor{\color{#1}}}}
+
+\define@key[UFCB]{glofill}{blackfieldcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,blackfieldcolor=#1}{}}%
+
+\define@key[UFCB]{locfill}{fieldcolor}{% D
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ whitefieldcolor=#1,
+ blackfieldcolor=#1}}
+
+\define@key[UFCB]{glofill}{fieldcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,fieldcolor=#1}{}}%
+
+\define@key[UFCB]{locfill}{whiteonwhitepiecemaskcolor}{% D
+ \board@do@l@addto@macro\board@val@fontcolorstack
+ {\def\cfss@whiteonwhitepiecemaskcolor{\color{#1}}}}
+
+\define@key[UFCB]{glofill}{whiteonwhitepiecemaskcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,whiteonwhitepiecemaskcolor=#1}{}}%
+
+\define@key[UFCB]{locfill}{whiteonblackpiecemaskcolor}{% D
+ \board@do@l@addto@macro\board@val@fontcolorstack
+ {\def\cfss@whiteonblackpiecemaskcolor{\color{#1}}}}
+
+\define@key[UFCB]{glofill}{whiteonblackpiecemaskcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,whiteonblackpiecemaskcolor=#1}{}}%
+
+\define@key[UFCB]{locfill}{blackonwhitepiecemaskcolor}{% D
+ \board@do@l@addto@macro\board@val@fontcolorstack
+ {\def\cfss@blackonwhitepiecemaskcolor{\color{#1}}}}
+
+\define@key[UFCB]{glofill}{blackonwhitepiecemaskcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,blackonwhitepiecemaskcolor=#1}{}}%
+
+\define@key[UFCB]{locfill}{blackonblackpiecemaskcolor}{% D
+ \board@do@l@addto@macro\board@val@fontcolorstack
+ {\def\cfss@blackonblackpiecemaskcolor{\color{#1}}}}
+
+\define@key[UFCB]{glofill}{blackonblackpiecemaskcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,blackonblackpiecemaskcolor=#1}{}}%
+
+\define@key[UFCB]{locfill}{whitepiecemaskcolor}{% D
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ whiteonwhitepiecemaskcolor=#1,
+ whiteonblackpiecemaskcolor=#1}}
+
+\define@key[UFCB]{glofill}{whitepiecemaskcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,whitepiecemaskcolor=#1}{}}%
+
+\define@key[UFCB]{locfill}{blackpiecemaskcolor}{% D
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ blackonwhitepiecemaskcolor=#1,
+ blackonblackpiecemaskcolor=#1}}
+
+\define@key[UFCB]{glofill}{blackpiecemaskcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,blackpiecemaskcolor=#1}{}}%
+
+\define@key[UFCB]{locfill}{onwhitepiecemaskcolor}{% D
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ whiteonwhitepiecemaskcolor=#1,
+ blackonwhitepiecemaskcolor=#1}}
+
+\define@key[UFCB]{glofill}{onwhitepiecemaskcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,onwhitepiecemaskcolor=#1}{}}%
+
+\define@key[UFCB]{locfill}{onblackpiecemaskcolor}{% D
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ whiteonblackpiecemaskcolor=#1,
+ blackonblackpiecemaskcolor=#1}}
+
+\define@key[UFCB]{glofill}{onblackpiecemaskcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,onblackpiecemaskcolor=#1}{}}%
+
+\define@key[UFCB]{locfill}{piecemaskcolor}{% D
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ whiteonwhitepiecemaskcolor=#1,
+ whiteonblackpiecemaskcolor=#1,
+ blackonwhitepiecemaskcolor=#1,
+ blackonblackpiecemaskcolor=#1}}
+
+\define@key[UFCB]{glofill}{piecemaskcolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,piecemaskcolor=#1}{}}%
+
+\define@key[UFCB]{locfill}{whitepiececolor}{% D
+ \board@do@l@addto@macro\board@val@fontcolorstack
+ {\def\cfss@whitepiececolor{\color{#1}}}}
+
+\define@key[UFCB]{glofill}{whitepiececolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,whitepiececolor=#1}{}}%
+
+\define@key[UFCB]{locfill}{blackpiececolor}{% D
+ \board@do@l@addto@macro\board@val@fontcolorstack
+ {\def\cfss@blackpiececolor{\color{#1}}}}
+
+\define@key[UFCB]{glofill}{blackpiececolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,blackpiececolor=#1}{}}%
+
+\define@key[UFCB]{locfill}{piececolor}{% D
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ whitepiececolor=#1,
+ blackpiececolor=#1}}
+
+\define@key[UFCB]{glofill}{piececolor}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,piececolor=#1}{}}%
+
+%% Obsolete + changed, use whitepiececolor
+\define@key[UFCB]{locfill}{colorwhite}{% D
+ \board@do@l@addto@macro\board@val@fontcolorstack
+ {\def\cfss@whitepiececolor{\color{#1}}}}
+
+\define@key[UFCB]{glofill}{colorwhite}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,colorwhite=#1}{}}%
+
+\define@key[UFCB]{locfill}{colorblack}{% D
+ \board@do@l@addto@macro\board@val@fontcolorstack
+ {\def\cfss@blackpiececolor{\color{#1}}}}
+
+\define@key[UFCB]{glofill}{colorblack}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,colorblack=#1}{}}%
+
+%% end obsolete
+
+%% setting board colors
+\define@key[UFCB]{locfill}{setfontcolors}[true]{% D
+ \let\board@val@boardfontcolors\board@val@fontcolorstack}
+
+\define@key[UFCB]{glofill}{setfontcolors}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,setfontcolors=#1}{}}%
+
+\define@key[UFCB]{locfill}{addfontcolors}[true]{% D
+ \toks@=\expandafter{\board@val@fontcolorstack}%
+ \board@do@l@addto@macro\board@val@boardfontcolors{\the\toks@}}
+
+\define@key[UFCB]{glofill}{setfontcolors}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,setfontcolors=#1}{}}%
+
+%% color in areas.
+
+%%% enable postscript units and node
+\define@boolkey[UFCB]{locset}{psset}[true]{}% D
+
+\define@boolkey[UFCB]{gloset}{psset}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,psset=#1}{}}%
+
+%%% redefines some skak commands/skak counters
+\define@boolkey[UFCB]{locset}{psskak}[true]{}% D
+
+\define@boolkey[UFCB]{gloset}{psskak}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,psskak=#1}{}}%
+
+%%%%%%
+%% "fill"-Keys that can be used more than once
+%%%%%%
+
+%%%%
+%% language
+%%%%
+
+\define@key[UFCB]{locfill}{language}{% D
+ \edef\board@val@curlang{#1}}%
+
+\define@key[UFCB]{glofill}{language}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,language=#1}}%
+
+%%%%
+%% clearing
+%%%%
+
+\define@key[UFCB]{locfill}{cleararea}{% D
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curarea:=\board@temp@list\do
+ {\board@do@cleararea{\board@temp@curarea}}}%
+
+\define@key[UFCB]{glofill}{cleararea}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,cleararea=#1}}%
+
+\define@key[UFCB]{locfill}{clearareas}{% D
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curarea:=\board@temp@list\do
+ {\board@do@cleararea{\board@temp@curarea}}}%
+
+\define@key[UFCB]{glofill}{clearareas}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,clearareas=#1}}%
+
+\define@key[UFCB]{locfill}{clearboard}[true]{%D
+ \edef\board@temp@curstartfield{\board@val@minfilechar\board@val@maxranknum}%
+ \edef\board@temp@curstopfield{\board@val@maxfilechar\board@val@minranknum}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{cleararea=\board@temp@curstartfield-\board@temp@curstopfield}}%
+
+\define@key[UFCB]{glofill}{clearboard}[true]{%D
+ \board@do@l@addto@macro\board@val@savedkeylist{,clearboard=#1}}%
+
+\define@key[UFCB]{locfill}{clearrank}{%D
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@currank:=\board@temp@list\do
+ {\edef\board@temp@curstartfield{\board@val@minfilechar\board@temp@currank}%
+ \edef\board@temp@curstopfield{\board@val@maxfilechar\board@temp@currank}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ cleararea=\board@temp@curstartfield-\board@temp@curstopfield}}}%
+
+\define@key[UFCB]{glofill}{clearrank}{%D
+ \board@do@l@addto@macro\board@val@savedkeylist{,clearrank={#1}}}%
+
+\define@key[UFCB]{locfill}{clearranks}{%D
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@currank:=\board@temp@list\do
+ {\edef\board@temp@curstartfield{\board@val@minfilechar\board@temp@currank}%
+ \edef\board@temp@curstopfield{\board@val@maxfilechar\board@temp@currank}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ cleararea=\board@temp@curstartfield-\board@temp@curstopfield}}}%
+
+\define@key[UFCB]{glofill}{clearranks}{%D
+ \board@do@l@addto@macro\board@val@savedkeylist{,clearranks={#1}}}%
+
+\define@key[UFCB]{locfill}{clearfile}{%D
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curfile:=\board@temp@list\do
+ {\edef\board@temp@curstartfield{\board@temp@curfile\board@val@maxranknum}%
+ \edef\board@temp@curstopfield{\board@temp@curfile\board@val@minranknum}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ cleararea=\board@temp@curstartfield-\board@temp@curstopfield}}}%
+
+\define@key[UFCB]{glofill}{clearfile}{%D
+ \board@do@l@addto@macro\board@val@savedkeylist{,clearfile={#1}}}%
+
+\define@key[UFCB]{locfill}{clearfiles}{%D
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curfile:=\board@temp@list\do
+ {\edef\board@temp@curstartfield{\board@temp@curfile\board@val@maxranknum}%
+ \edef\board@temp@curstopfield{\board@temp@curfile\board@val@minranknum}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ cleararea=\board@temp@curstartfield-\board@temp@curstopfield}}}%
+
+\define@key[UFCB]{glofill}{clearfiles}{%D
+ \board@do@l@addto@macro\board@val@savedkeylist{,clearfiles={#1}}}%
+
+\define@key[UFCB]{locfill}{clearfield}{% #1=list of fields %D
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curfield:=\board@temp@list\do
+ {\board@do@setsinglekeys*[UFCB]{locfill}{cleararea=\board@temp@curfield-\board@temp@curfield}}}%
+
+\define@key[UFCB]{glofill}{clearfield}{% %D
+ \board@do@l@addto@macro\board@val@savedkeylist{,clearfield={#1}}}%
+
+\define@key[UFCB]{locfill}{clearfields}{% #1=list of fields %D
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curfield:=\board@temp@list\do
+ {\board@do@setsinglekeys*[UFCB]{locfill}{cleararea=\board@temp@curfield-\board@temp@curfield}}}%
+
+\define@key[UFCB]{glofill}{clearfields}{% %D
+ \board@do@l@addto@macro\board@val@savedkeylist{,clearfields={#1}}}%
+
+%%%%
+%% hiding
+%%%%
+
+\define@key[UFCB]{locfill}{hidearea}{% D
+ \board@do@hidearea{#1}}%
+
+\define@key[UFCB]{glofill}{hidearea}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,hidearea=#1}}%
+
+\define@key[UFCB]{locfill}{hideareas}{% D
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curarea:=\board@temp@list\do
+ {\board@do@hidearea{\board@temp@curarea}}}%
+
+\define@key[UFCB]{glofill}{hideareas}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,hideareas=#1}}%
+
+\define@key[UFCB]{locfill}{hideboard}[true]{% D
+ \edef\board@temp@curstartfield{\board@val@minfilechar\board@val@maxranknum}%
+ \edef\board@temp@curstopfield{\board@val@maxfilechar\board@val@minranknum}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{hidearea=\board@temp@curstartfield-\board@temp@curstopfield}}%
+
+\define@key[UFCB]{glofill}{hideboard}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,hideboard=#1}}%
+
+\define@key[UFCB]{locfill}{hiderank}{% D
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@currank:=\board@temp@list\do
+ {\edef\board@temp@curstartfield{\board@val@minfilechar\board@temp@currank}%
+ \edef\board@temp@curstopfield{\board@val@maxfilechar\board@temp@currank}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ hidearea=\board@temp@curstartfield-\board@temp@curstopfield}}}%
+
+\define@key[UFCB]{glofill}{hiderank}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,hiderank={#1}}}%
+
+\define@key[UFCB]{locfill}{hideranks}{% D
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@currank:=\board@temp@list\do
+ {\edef\board@temp@curstartfield{\board@val@minfilechar\board@temp@currank}%
+ \edef\board@temp@curstopfield{\board@val@maxfilechar\board@temp@currank}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ hidearea=\board@temp@curstartfield-\board@temp@curstopfield}}}%
+
+\define@key[UFCB]{glofill}{hideranks}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,hideranks={#1}}}%
+
+\define@key[UFCB]{locfill}{hidefile}{% D
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curfile:=\board@temp@list\do
+ {\edef\board@temp@curstartfield{\board@temp@curfile\board@val@maxranknum}%
+ \edef\board@temp@curstopfield{\board@temp@curfile\board@val@minranknum}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ hidearea=\board@temp@curstartfield-\board@temp@curstopfield}}}%
+
+\define@key[UFCB]{glofill}{hidefile}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,hidefile={#1}}}%
+
+\define@key[UFCB]{locfill}{hidefiles}{% D
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curfile:=\board@temp@list\do
+ {\edef\board@temp@curstartfield{\board@temp@curfile\board@val@maxranknum}%
+ \edef\board@temp@curstopfield{\board@temp@curfile\board@val@minranknum}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ hidearea=\board@temp@curstartfield-\board@temp@curstopfield}}}%
+
+\define@key[UFCB]{glofill}{hidefiles}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,hidefiles={#1}}}%
+
+\define@key[UFCB]{locfill}{hidefields}{% D #1=list of fields
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curfield:=\board@temp@list\do
+ {\board@do@setsinglekeys*[UFCB]{locfill}{hidearea=\board@temp@curfield-\board@temp@curfield}}}%
+
+\define@key[UFCB]{glofill}{hidefields}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,hidefields={#1}}}%
+
+\define@key[UFCB]{locfill}{hidefield}{% D #1=list of fields
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curfield:=\board@temp@list\do
+ {\board@do@setsinglekeys*[UFCB]{locfill}{hidearea=\board@temp@curfield-\board@temp@curfield}}}%
+
+\define@key[UFCB]{glofill}{hidefield}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,hidefield={#1}}}%
+
+\define@key[UFCB]{locfill}{hidepiece}{% D list of chars
+ \board@do@hidetypelist{#1}}%
+
+\define@key[UFCB]{glofill}{hidepiece}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,hidepiece={#1}}}%
+
+\define@key[UFCB]{locfill}{hidepieces}{% D list of chars
+ \board@do@hidetypelist{#1}}%
+
+\define@key[UFCB]{glofill}{hidepieces}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,hidepieces={#1}}}%
+
+\define@key[UFCB]{locfill}{hidewhite}[true]{% D
+ \edef\board@temp@list{%
+ \csname board@\board@val@game @whitepiececharlist\endcsname}%
+ \board@do@hidetypelist{\board@temp@list}}%
+
+\define@key[UFCB]{glofill}{hidewhite}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,hidewhite=#1}}%
+
+\define@key[UFCB]{locfill}{hideblack}[true]{% D
+ \edef\board@temp@list{%
+ \csname board@\board@val@game @blackpiececharlist\endcsname}%
+ \board@do@hidetypelist{\board@temp@list}}%
+
+\define@key[UFCB]{glofill}{hideblack}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,hideblack=#1}}%
+
+\define@key[UFCB]{locfill}{hideall}[true]{% D
+ \edef\board@temp@list{%
+ \csname board@\board@val@game @piececharlist\endcsname}%
+ \board@do@hidetypelist{\board@temp@list}}%
+
+\define@key[UFCB]{glofill}{hideall}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,hideall=#1}}%
+
+%%%%
+%% show
+%%%%
+
+\define@key[UFCB]{locfill}{showarea}{%
+ \board@do@showarea{#1}}%
+
+\define@key[UFCB]{glofill}{showarea}{%
+ \board@do@l@addto@macro\board@val@savedkeylist{,showarea=#1}}%
+
+\define@key[UFCB]{locfill}{showareas}{% D
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curarea:=\board@temp@list\do
+ {\board@do@showarea{\board@temp@curarea}}}%
+
+\define@key[UFCB]{glofill}{showareas}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,showareas=#1}}%
+
+\define@key[UFCB]{locfill}{showboard}[true]{%
+ \edef\board@temp@curstartfield{\board@val@minfilechar\board@val@maxranknum}%
+ \edef\board@temp@curstopfield{\board@val@maxfilechar\board@val@minranknum}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{showarea=\board@temp@curstartfield-\board@temp@curstopfield}}%
+
+\define@key[UFCB]{glofill}{showboard}[true]{%
+ \board@do@l@addto@macro\board@val@savedkeylist{,showboard=#1}}%
+
+\define@key[UFCB]{locfill}{showrank}{%
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@currank:=\board@temp@list\do
+ {\edef\board@temp@curstartfield{\board@val@minfilechar\board@temp@currank}%
+ \edef\board@temp@curstopfield{\board@val@maxfilechar\board@temp@currank}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ showarea=\board@temp@curstartfield-\board@temp@curstopfield}}}%
+
+\define@key[UFCB]{glofill}{showrank}{%
+ \board@do@l@addto@macro\board@val@savedkeylist{,showrank={#1}}}%
+
+\define@key[UFCB]{locfill}{showranks}{%
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@currank:=\board@temp@list\do
+ {\edef\board@temp@curstartfield{\board@val@minfilechar\board@temp@currank}%
+ \edef\board@temp@curstopfield{\board@val@maxfilechar\board@temp@currank}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ showarea=\board@temp@curstartfield-\board@temp@curstopfield}}}%
+
+\define@key[UFCB]{glofill}{showranks}{%
+ \board@do@l@addto@macro\board@val@savedkeylist{,showranks={#1}}}%
+
+\define@key[UFCB]{locfill}{showfile}{%
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curfile:=\board@temp@list\do
+ {\edef\board@temp@curstartfield{\board@temp@curfile\board@val@maxranknum}%
+ \edef\board@temp@curstopfield{\board@temp@curfile\board@val@minranknum}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ showarea=\board@temp@curstartfield-\board@temp@curstopfield}}}%
+
+\define@key[UFCB]{glofill}{showfile}{%
+ \board@do@l@addto@macro\board@val@savedkeylist{,showfile={#1}}}%
+
+\define@key[UFCB]{locfill}{showfiles}{%
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curfile:=\board@temp@list\do
+ {\edef\board@temp@curstartfield{\board@temp@curfile\board@val@maxranknum}%
+ \edef\board@temp@curstopfield{\board@temp@curfile\board@val@minranknum}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ showarea=\board@temp@curstartfield-\board@temp@curstopfield}}}%
+
+\define@key[UFCB]{glofill}{showfiles}{%
+ \board@do@l@addto@macro\board@val@savedkeylist{,showfiles={#1}}}%
+
+\define@key[UFCB]{locfill}{showfield}{% #1=list of fields
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curfield:=\board@temp@list\do
+ {\board@do@setsinglekeys*[UFCB]{locfill}{hidearea=\board@temp@curfield-\board@temp@curfield}}}%
+
+\define@key[UFCB]{glofill}{showfield}{%
+ \board@do@l@addto@macro\board@val@savedkeylist{,showfield={#1}}}%
+
+\define@key[UFCB]{locfill}{showfields}{% #1=list of fields
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curfield:=\board@temp@list\do
+ {\board@do@setsinglekeys*[UFCB]{locfill}{hidearea=\board@temp@curfield-\board@temp@curfield}}}%
+
+\define@key[UFCB]{glofill}{showfields}{%
+ \board@do@l@addto@macro\board@val@savedkeylist{,showfields={#1}}}%
+
+\define@key[UFCB]{locfill}{showpiece}{% list of chars
+ \board@do@showtypelist{#1}}%
+
+\define@key[UFCB]{glofill}{showpiece}{%
+ \board@do@l@addto@macro\board@val@savedkeylist{,showpieces={#1}}}%
+
+\define@key[UFCB]{locfill}{showpieces}{% list of chars
+ \board@do@showtypelist{#1}}%
+
+\define@key[UFCB]{glofill}{showpieces}{%
+ \board@do@l@addto@macro\board@val@savedkeylist{,showpieces={#1}}}%
+
+%%%%
+%% fen
+%%%%
+%%% fen "corners
+
+\define@key[UFCB]{locfill}{startfen}{% D
+ \expandafter\board@split@field#1ARGEND%
+ \let\board@val@startfenfilechar\board@temp@curfilechar
+ \let\board@val@startfenfilenum\board@temp@curfilenum
+ \let\board@val@startfenranknum\board@temp@curranknum}%
+
+\define@key[UFCB]{glofill}{startfen}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,startfen=#1}}%
+
+\define@key[UFCB]{locfill}{startfill}{% D
+ \expandafter\board@split@field#1ARGEND%
+ \let\board@val@startfillfilechar\board@temp@curfilechar
+ \let\board@val@startfillfilenum\board@temp@curfilenum
+ \let\board@val@startfillranknum\board@temp@curranknum}%
+
+\define@key[UFCB]{glofill}{startfill}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,startfill=#1}}%
+
+\define@key[UFCB]{locfill}{stopfill}{% D
+ \expandafter\board@split@field#1ARGEND%
+ \let\board@val@stopfillfilechar\board@temp@curfilechar
+ \let\board@val@stopfillfilenum\board@temp@curfilenum
+ \let\board@val@stopfillranknum\board@temp@curranknum}%
+
+\define@key[UFCB]{glofill}{stopfill}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,startfill=#1}}%
+
+\define@key[UFCB]{locfill}{fillarea}{% a7-f1 %D
+ \expandafter\board@split@areasort#1ARGEND%
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ startfill=\board@temp@curstartfield, stopfill=\board@temp@curstopfield}}%
+
+\define@key[UFCB]{glofill}{fillarea}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,fillarea=#1}}%
+
+%%%
+%% setting pieces with fen
+%%%
+
+\define@key[UFCB]{locfill}{@fen}{%
+ \board@split@fen#1 X X X X X X XARGEND%
+ \board@scan@fen{\board@val@position}}%
+
+\def\board@setfenkey#1|{\board@do@setsinglekeys*[UFCB]{locfill}{@fen=#1}}%
+
+%%change 1.5
+\define@key[UFCB]{locfill}{setfen}{% D
+ \board@do@setsinglekeys*[UFCB]{locfill}{clearboard}%
+ \edef\board@temp@fen{#1}%
+ \expandafter\board@setfenkey\board@temp@fen|}%
+
+\define@key[UFCB]{glofill}{setfen}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,setfen=#1}}%
+
+\define@key[UFCB]{locfill}{addfen}{% D
+ \expandafter\board@setfenkey#1|}%
+
+\define@key[UFCB]{glofill}{addfen}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,addfen=#1}}%
+
+
+%%% other name for usefen
+\define@key[UFCB]{locfill}{restorefen}{% D
+ \edef\board@temp@curfen{\csname chessgame.#1\endcsname}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{language=english, addfen=\board@temp@curfen, language=\board@val@savelang}}%
+
+\define@key[UFCB]{glofill}{restorefen}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,restorefen=#1}}%cor 1.5.
+
+\define@key[UFCB]{locfill}{loadfen}{% D
+ \board@do@loadfen{#1}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{language=english, addfen=\board@temp@curfen, language=\board@val@savelang}}%
+
+\define@key[UFCB]{glofill}{loadfen}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,loadfen=#1}}%
+
+%%%%
+%% rest of fen
+%%%%
+
+\define@key[UFCB]{locfill}{mover}{\def\board@val@mover{#1}} %D %changed 02.08.2007 to allow commands as input
+\define@key[UFCB]{locfill}{castling}{\def\board@val@castling{#1}} %D
+\define@key[UFCB]{locfill}{enpassant}{\def\board@val@enpassant{#1}} %D
+\define@key[UFCB]{locfill}{halfmove}{\def\board@val@halfmove{#1}} %D
+\define@key[UFCB]{locfill}{fullmove}{\def\board@val@fullmove{#1}} %D
+
+\define@key[UFCB]{glofill}{mover}{\board@do@l@addto@macro\board@val@savedkeylist{,mover=#1}} %D
+\define@key[UFCB]{glofill}{castling}{\board@do@l@addto@macro\board@val@savedkeylist{,castling=#1}} %D
+\define@key[UFCB]{glofill}{enpassant}{\board@do@l@addto@macro\board@val@savedkeylist{,enpassant=#1}} %D
+\define@key[UFCB]{glofill}{halfmove}{\board@do@l@addto@macro\board@val@savedkeylist{,halfmove=#1}} %D
+\define@key[UFCB]{glofill}{fullmove}{\board@do@l@addto@macro\board@val@savedkeylist{,fullmove=#1}} %D
+
+%%% saving fen
+
+\define@key[UFCB]{locfill}{storefen}{% D
+ \board@do@storefen{#1}}% D
+
+\define@key[UFCB]{glofill}{storefen}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,storefen=#1}}%
+
+\define@key[UFCB]{locfill}{savefen}{\board@do@savefen{#1}} %D
+
+\define@key[UFCB]{glofill}{savefen}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,savefen=#1}}%
+
+\define@key[UFCB]{locfill}{startstore}{% D
+ \expandafter\board@split@field#1ARGEND%
+ \let\board@val@startstorefilechar\board@temp@curfilechar
+ \let\board@val@startstorefilenum\board@temp@curfilenum
+ \let\board@val@startstoreranknum\board@temp@curranknum%
+ }%
+
+\define@key[UFCB]{glofill}{startstore}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,startstore=#1}}%
+
+\define@key[UFCB]{locfill}{stopstore}{% D
+ \expandafter\board@split@field#1ARGEND%
+ \let\board@val@stopstorefilechar\board@temp@curfilechar
+ \let\board@val@stopstorefilenum\board@temp@curfilenum
+ \let\board@val@stopstoreranknum\board@temp@curranknum}%
+
+\define@key[UFCB]{glofill}{stopstore}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,stopstore=#1}}%
+
+\define@key[UFCB]{locfill}{storearea}{% a7-f1 %D
+ \expandafter\board@split@areasort#1ARGEND%
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ startstore=\board@temp@curstartfield, stopstore=\board@temp@curstopfield}}%
+
+\define@key[UFCB]{glofill}{storearea}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,storearea=#1}}%
+
+%%%%%%
+%%% Adding pieces
+%%%%%%
+
+\define@key[UFCB]{locfill}{setpieces}{% D
+ \board@do@setsinglekeys*[UFCB]{locfill}{clearboard=true}%
+ \board@do@addpieces{#1}}%
+
+\define@key[UFCB]{glofill}{setpieces}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,setpieces={#1}}}%
+
+\define@key[UFCB]{locfill}{addpieces}{% D
+ \board@do@addpieces{#1}}%
+
+\define@key[UFCB]{glofill}{addpieces}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,addpieces={{#1}}}}%
+
+\define@key[UFCB]{locfill}{setwhite}{% D
+ \board@do@setsinglekeys*[UFCB]{locfill}{clearboard=true}%
+ \board@do@addwhitepieces{#1}}%
+
+\define@key[UFCB]{glofill}{setwhite}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,setwhite={#1}}}%
+
+\define@key[UFCB]{locfill}{addwhite}{% D
+ \board@do@addwhitepieces{#1}}%
+
+\define@key[UFCB]{glofill}{addwhite}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,addwhite={#1}}}%
+
+\define@key[UFCB]{locfill}{setblack}{% D
+ \board@do@setsinglekeys*[UFCB]{locfill}{clearboard=true}%
+ \board@do@addblackpieces{#1}}%
+
+\define@key[UFCB]{glofill}{setblack}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,setblack={#1}}}%
+
+\define@key[UFCB]{locfill}{addblack}{% D
+ \board@do@addblackpieces{#1}}%
+
+\define@key[UFCB]{glofill}{addblack}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,addblack={#1}}}%
+
+%% getting field lists for piece types
+\define@key[UFCB]{locfill}{getpiecelists}[true]{% D
+ \board@do@getpiecelists}
+
+\define@key[UFCB]{glofill}{getpiecelists}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,getpiecelists={#1}}}%
+
+%%\define@key[UFCB]{main}{fontsize}{\setboardfontsize{#1}}%
+
+%% "emphazing"
+
+\define@boolkey[UFCB]{locfill}{coloremph}[true]{}
+
+\define@boolkey[UFCB]{glofill}{coloremph}[true]{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,coloremph={#1}}}%
+
+\define@key[UFCB]{locfill}{emphstyle}{% D
+ \def\board@val@pieceemph{#1}}%
+
+\define@key[UFCB]{glofill}{emphstyle}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,emphstyle={#1}}}%
+
+\define@key[UFCB]{locfill}{coloremphstyle}[\relax]{% D
+ \board@do@setsinglekeys*[UFCB]{locfill}{coloremph}%
+ \def\board@val@pieceemph{#1}}%
+
+\define@key[UFCB]{glofill}{coloremphstyle}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,coloremphstyle={#1}}}%
+
+\define@key[UFCB]{locfill}{empharea}{% D
+ \board@do@empharea{#1}}%
+
+\define@key[UFCB]{glofill}{empharea}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,empharea=#1}}%
+
+\define@key[UFCB]{locfill}{emphareas}{% D
+ \XKV@sp@deflist\board@templist{#1}%
+ \edef\board@templist{\board@templist}%
+ \@for\board@temp@curarea:=\board@templist\do
+ {\ifx\board@temp@curarea\@empty\else
+ \board@do@empharea{\board@temp@curarea}%
+ \fi}}%
+
+\define@key[UFCB]{glofill}{emphareas}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,emphareas={#1}}}%
+
+\define@key[UFCB]{locfill}{emphboard}[true]{%D
+ \edef\board@temp@curstartfield{\board@val@minfilechar\board@val@maxranknum}%
+ \edef\board@temp@curstopfield{\board@val@maxfilechar\board@val@minranknum}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{empharea=\board@temp@curstartfield-\board@temp@curstopfield}}%
+
+\define@key[UFCB]{glofill}{emphboard}[true]{%D
+ \board@do@l@addto@macro\board@val@savedkeylist{,emphboard=#1}}%
+
+\define@key[UFCB]{locfill}{emphranks}{%D
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@currank:=\board@temp@list\do
+ {\edef\board@temp@curstartfield{\board@val@minfilechar\board@temp@currank}%
+ \edef\board@temp@curstopfield{\board@val@maxfilechar\board@temp@currank}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ empharea=\board@temp@curstartfield-\board@temp@curstopfield}}}%
+
+\define@key[UFCB]{glofill}{emphranks}{%D
+ \board@do@l@addto@macro\board@val@savedkeylist{,emphranks={#1}}}%
+
+\define@key[UFCB]{locfill}{emphrank}{% D
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ emphranks=#1}}%
+
+\define@key[UFCB]{glofill}{emphrank}{%D
+ \board@do@l@addto@macro\board@val@savedkeylist{,emphrank={#1}}}%
+
+\define@key[UFCB]{locfill}{emphfiles}{%D
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curfile:=\board@temp@list\do
+ {\edef\board@temp@curstartfield{\board@temp@curfile\board@val@maxranknum}%
+ \edef\board@temp@curstopfield{\board@temp@curfile\board@val@minranknum}%
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ empharea=\board@temp@curstartfield-\board@temp@curstopfield}}}%
+
+\define@key[UFCB]{glofill}{emphfiles}{%D
+ \board@do@l@addto@macro\board@val@savedkeylist{,emphfiles={#1}}}%
+
+\define@key[UFCB]{locfill}{emphfile}{% D
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ emphfiles=#1}}%
+
+\define@key[UFCB]{glofill}{emphfile}{%D
+ \board@do@l@addto@macro\board@val@savedkeylist{,emphfile=#1}}%
+
+\define@key[UFCB]{locfill}{emphfields}{% D
+ \edef\board@temp@list{#1}%
+ \@for\board@temp@curfield:=\board@temp@list\do
+ {\expandafter\board@split@field\board@temp@curfield ARGEND%
+ \board@do@store@pieceemph{\board@temp@curfilenum}{\board@temp@curranknum}}}%
+
+\define@key[UFCB]{glofill}{emphfields}{%
+ \board@do@l@addto@macro\board@val@savedkeylist{,emphpieces={#1}}}%
+
+\define@key[UFCB]{locfill}{emphfield}{% D
+ \board@do@setsinglekeys*[UFCB]{locfill}{%
+ emphfields=#1}}%
+
+\define@key[UFCB]{glofill}{emphfield}{%D
+ \board@do@l@addto@macro\board@val@savedkeylist{,emphfield=#1}}%
+
+\define@key[UFCB]{locfill}{colorpieces}{% D
+ \PackageWarning{chessboard}{The key colorpieces doesn't work anymore. \MessageBreak
+ Use the emph-keys instead.}}%
+\define@key[UFCB]{glofill}{colorpieces}{% D
+ \board@do@l@addto@macro\board@val@savedkeylist{,colorpieces={#1}}}%
+
+%%%%%%%%%%%%%%%
+%% setting the game
+%%%%%%%%%%%%%%%
+
+\define@key[UFCB]{locinit}{game}{%
+ \def\board@val@game{#1}}%
+
+\define@key[UFCB]{gloinit}{game}{%
+ \board@do@l@addto@macro\board@val@savedkeylist{,game=#1}{}}%
+\endinput
+%%
+%% End of file `chessboard-keys-main.sty'.