%<*sty>
%% Changes
%% 2006-06-14: added definitions for shortcastling and longcastling
%% added \chesscomment for \comment to prevent a clash with some verbatim
%% packages. Added lsbc5 encoding.
%%
%% 2006-06-09
%% changed the default font to skaknew. The skaknew option don't do anything now.
%%
%% 2006-06-07
%% corrected def of chesssee ->bugreport
%% 2006-05-26
%% changed handling of textchars,
%% added language commands
%% added new encodings for layers board chars
%% changed a lot of things in the documentation

%% 2006-05-22
%% Corrected definition of BlackRookOnWhite
%% Added \setboardfontencoding

%% 2006-03-31:
%% changed the name of the informatorsymbol \see to
%% \chesssee to avoid a clash with makeidx
%%
%% Fontencoding declaration are now in external .def-files.
%% fd-informations of skak and skaknew are in external .fd-files.
%%
%% Changed the internal definition of the pieces. They now use
%% \DeclareTextCommand etc. So they now longer execute font
%% commands like size! The user definitions like
%% \WhiteEmptySquare or \king are unchanged.
%%
%% I added an LSBXA-encoding that can be used to color the back of board
%% pieces differently to the piece itself.

%% 2005-12-15: added three length (\len@cfss@squarewidth, \len@cfss@squaretotalheight),
%% \len@cfss@squaredepth)
%% added the commands \cfss@getsquaresize and \getsquaresize,
%% changed \cfss@setupboardsize and \setboardfontsize.
%% They now stores the dimensions of a square of the board.

%% 2005-12-15: changed definition of \cfss@boardsymbol. To prevent the
%% insertion of italic correction in boards \DeclareTextFontCommand
%% is no longer used

%% 2005-12-02: corrected missing % in definition of \cfss@sidefont

%% 2005-06-28: Changed definition of boardfont. The baselineskip is now
%% set to the total height of a square. This corrects a problem with fonts,
%% where the board squares are not really squares.

%% 2005-05-09: Corrected the definitions of \with and \without.
%% \with is now |_ and \without is now _| (the old definition were the other
%% way round).

\NeedsTeXFormat{LaTeX2e}%
\ProvidesPackage{chessfss}[2006/06/14 v1.2a chess font selection scheme]
\RequirePackage{ifthen,xkeyval}
\providecommand\cfss@default@family{skaknew}

\DeclareOption{skaknew}{}
\ProcessOptions

%%%% Deklaration of the standard encodings
%% other encoding have to been loaded e.g. with fontenc

\input{lsbenc.def}
\input{lsfenc.def}
\input{lsienc.def}

%%%% font commands

%%%% commands for the figurine
%%% encoding

\newcommand\cfss@figfontencoding{LSF}

%% figurines can be written in a game as figurine symbols or as text characters.
%% Text characters can change with the language.
%% I provide three sets to print figurines:
%% \figfont and \figsymbol{} and \symking, \symqueen ... prints only symbols
%% \textfigsymbol{<english Piecename>}, \textking, \textqueen ...  prints only a text
%%  character,
%% \textsymfigsymbol{}, \king, \queen, \textsymking, \textsymqueen ... prints either a text or
%% symbol depending on a switch. The switch can be set with \usetextfig
%% and \usesymfig.
%% For the two \text... and \textsym command there aren't declaration commands, but the
%% the fontstyle can be set with \settextfigstyle{<font commands>}.

%%% commands to print figurine symbols

\newcommand\cfss@figfontfamily     {\cfss@default@family}

\newcommand*\setfigfontfamily[1]{%
    \renewcommand*\cfss@figfontfamily{#1}}

\DeclareRobustCommand\cfss@figfont{%
    \fontencoding {\cfss@figfontencoding}%
    \fontfamily   {\cfss@figfontfamily}%
    \selectfont}

\let\figfont\cfss@figfont

\DeclareTextFontCommand\cfss@figsymbol{\cfss@figfont}

\let\figsymbol\cfss@figsymbol

%% "symbol" figurines

\DeclareRobustCommand\symking
    {\figsymbol{\cfss@symking}}
\DeclareRobustCommand\symqueen
    {\figsymbol{\cfss@symqueen}}
\DeclareRobustCommand\symrook
    {\figsymbol{\cfss@symrook}}
\DeclareRobustCommand\symbishop
    {\figsymbol{\cfss@symbishop}}
\DeclareRobustCommand\symknight
    {\figsymbol{\cfss@symknight}}
\DeclareRobustCommand\sympawn
    {\figsymbol{\cfss@sympawn}}

%%% command to get text characters
%% Defining the output characters and the translation from english input to the
%% output

%% Languagesupport/Input/Output
%% new 2006-05-26
\newcommand\cfss@textfiglanguage{english}
\newcommand\cfss@symfiglanguage{@LSB}
\newcommand\cfss@figlanguage{\cfss@symfiglanguage}

\newcommand*\settextfiglanguage[1]{%
   \ifcsname cfss@king@#1\endcsname
    \def\cfss@textfiglanguage{#1}%
   \else
   \PackageWarning{chessfss}{%
    Chars for language #1 undefined! \MessageBreak
    I will use english instead!}
    \def\cfss@textfiglanguage{english}%
   \fi}

\newcommand*\cfss@king@@LSB{\cfss@figsymbol{K}}
\newcommand*\cfss@queen@@LSB{\cfss@figsymbol{Q}}
\newcommand*\cfss@rook@@LSB{\cfss@figsymbol{R}}
\newcommand*\cfss@bishop@@LSB{\cfss@figsymbol{B}}
\newcommand*\cfss@knight@@LSB{\cfss@figsymbol{N}}
\newcommand*\cfss@pawn@@LSB{\cfss@figsymbol{p}}

\newcommand*\settextfigchars[7][english]{% language, {K}{Q}{R}{B}{N}{P}
  \@namedef{cfss@king@#1}{#2}%
  \@namedef{cfss@queen@#1}{#3}%
  \@namedef{cfss@rook@#1}{#4}%
  \@namedef{cfss@bishop@#1}{#5}%
  \@namedef{cfss@knight@#1}{#6}%
  \@namedef{cfss@pawn@#1}{#7}}

\let\setfigtextchars\settextfigchars

\settextfigchars[english]{K}{Q}{R}{B}{N}{P}
\settextfigchars[german]{K}{D}{T}{L}{S}{B}
\settextfigchars[spanish]{R}{D}{T}{A}{C}{P}
\settextfigchars[finnish]{K}{D}{T}{L}{R}{S}
\settextfigchars[french]{R}{D}{T}{F}{C}{P}
\settextfigchars[interlingua]{R}{G}{T}{E}{C}{P}
\settextfigchars[icelandic]{K}{D}{H}{B}{R}{P}
\settextfigchars[italian]{R}{D}{T}{A}{C}{P}
\settextfigchars[portuges]{R}{D}{T}{B}{C}{P}

\newcommand*\cfss@kingchar{K}
\newcommand*\cfss@queenchar{Q}
\newcommand*\cfss@rookchar{R}
\newcommand*\cfss@bishopchar{B}
\newcommand*\cfss@knightchar{N}
\newcommand*\cfss@pawnchar{P}

\newcommand*{\cfss@input@K@english}{king}
\newcommand*{\cfss@input@k@english}{king}
\newcommand*{\cfss@input@Q@english}{queen}
\newcommand*{\cfss@input@q@english}{queen}
\newcommand*{\cfss@input@R@english}{rook}
\newcommand*{\cfss@input@r@english}{rook}
\newcommand*{\cfss@input@B@english}{bishop}
\newcommand*{\cfss@input@b@english}{bishop}
\newcommand*{\cfss@input@N@english}{knight}
\newcommand*{\cfss@input@n@english}{knight}
\newcommand*{\cfss@input@P@english}{pawn}
\newcommand*{\cfss@input@p@english}{pawn}

\newcommand*\cfss@checkinputchar[1]{%
  \ifcsname cfss@input@#1@english\endcsname
  \else
  \PackageError{chessfss}{Input char #1 unknown}{}%
  \fi}


\DeclareRobustCommand\cfss@puretextfigsymbol[1]{%
  \cfss@checkinputchar{#1}%
   \csname cfss@\csname cfss@input@#1@english\endcsname @\cfss@textfiglanguage\endcsname}

\DeclareRobustCommand\cfss@styletextfigsymbol[1]{%
  \cfss@checkinputchar{#1}%
   {\cfss@figstyle{\csname cfss@\csname cfss@input@#1@english\endcsname @\cfss@textfiglanguage\endcsname}}}

\DeclareRobustCommand\cfss@textking
    {\cfss@textfigsymbol{K}}
\DeclareRobustCommand\cfss@textqueen
    {\cfss@textfigsymbol{Q}}
\DeclareRobustCommand\cfss@textrook
    {\cfss@textfigsymbol{R}}
\DeclareRobustCommand\cfss@textbishop
    {\cfss@textfigsymbol{B}}
\DeclareRobustCommand\cfss@textknight
    {\cfss@textfigsymbol{N}}
\DeclareRobustCommand\cfss@textpawn
    {\cfss@textfigsymbol{P}}

\let\textking\cfss@textking
\let\textqueen\cfss@textqueen
\let\textrook\cfss@textrook
\let\textbishop\cfss@textbishop
\let\textknight\cfss@textknight
\let\textpawn\cfss@textpawn


\DeclareRobustCommand\cfss@puretextsymfigsymbol[1]{%
  \cfss@checkinputchar{#1}%
   \csname cfss@\csname cfss@input@#1@english\endcsname @\cfss@figlanguage\endcsname}

\DeclareRobustCommand\cfss@styletextsymfigsymbol[1]{%
  \cfss@checkinputchar{#1}%
  {\cfss@figstyle{%
   \csname cfss@\csname cfss@input@#1@english\endcsname @\cfss@figlanguage\endcsname}}}

\DeclareRobustCommand\cfss@textsymking
    {\cfss@textsymfigsymbol{K}}
\DeclareRobustCommand\cfss@textsymqueen
    {\cfss@textsymfigsymbol{Q}}
\DeclareRobustCommand\cfss@textsymrook
    {\cfss@textsymfigsymbol{R}}
\DeclareRobustCommand\cfss@textsymbishop
    {\cfss@textsymfigsymbol{B}}
\DeclareRobustCommand\cfss@textsymknight
    {\cfss@textsymfigsymbol{N}}
\DeclareRobustCommand\cfss@textsympawn
    {\cfss@textsymfigsymbol{p}}

\let\textsymking\cfss@textsymking
\let\textsymqueen\cfss@textsymqueen
\let\textsymrook\cfss@textsymrook
\let\textsymbishop\cfss@textsymbishop
\let\textsymknight\cfss@textsymknight
\let\textsympawn\cfss@textsympawn

\DeclareRobustCommand\cfss@king
    {\cfss@textsymfigsymbol{K}}
\DeclareRobustCommand\cfss@queen
    {\cfss@textsymfigsymbol{Q}}
\DeclareRobustCommand\cfss@rook
    {\cfss@textsymfigsymbol{R}}
\DeclareRobustCommand\cfss@bishop
    {\cfss@textsymfigsymbol{B}}
\DeclareRobustCommand\cfss@knight
    {\cfss@textsymfigsymbol{N}}
\DeclareRobustCommand\cfss@pawn
    {\cfss@textsymfigsymbol{p}}

\let\king\cfss@king
\let\queen\cfss@queen
\let\rook\cfss@rook
\let\bishop\cfss@bishop
\let\knight\cfss@knight
\let\pawn\cfss@pawn


\newif\ifcfss@textchars

\newcommand\usesymfig{%
 \def\cfss@figlanguage{\cfss@symfiglanguage}}

\newcommand{\usetextfig}{%
 \def\cfss@figlanguage{\cfss@textfiglanguage}}

\usesymfig %default

%% figstyle,

\newcommand*\cfss@figstyle{}

\DeclareRobustCommand\setfigstyle[1]{%
 \def\next{#1}%
 \ifx\next\empty
  \let\cfss@textfigsymbol\cfss@puretextfigsymbol
  \let\textfigsymbol\cfss@textfigsymbol
  \let\cfss@textsymfigsymbol\cfss@puretextsymfigsymbol
  \let\textsymfigsymbol\cfss@textsymfigsymbol
 \else
  \let\cfss@textfigsymbol\cfss@styletextfigsymbol
  \let\textfigsymbol\cfss@textfigsymbol
  \let\cfss@textsymfigsymbol\cfss@styletextsymfigsymbol
  \let\textsymfigsymbol\cfss@textsymfigsymbol
  \DeclareRobustCommand\cfss@figstyle{#1}%
 \fi}

\let\settextfigstyle\setfigstyle

\setfigstyle{} %default

%%%% commands for the board

%% the font for the boards/diagrams, the size should be set independant
%% of surrounding font sizes. I don't think that an "\itshape"-board is possible,
%% but I provide a command to change to "bold" boards (I have a font with such a board).

\newcommand*\cfss@boardfontencoding{LSB}
\newcommand*\cfss@boardfontfamily   {\cfss@default@family}
\newcommand*\cfss@boardfontseries   {\mddefault}
\newcommand*\cfss@boardfontsize     {20pt}

\newcommand*\setboardfontencoding[1]{%
    \renewcommand*\cfss@boardfontencoding{#1}}

\newcommand*\setboardfontfamily[1]{%
    \renewcommand*\cfss@boardfontfamily{#1}}

\newcommand*\setboardfontseries[1]{%
    \renewcommand*\cfss@boardfontseries{#1}}

\newcommand*\setboardfontsize[1]{%
    %changed 2005-12-15. added \cfss@getsquaresize
    \renewcommand*\cfss@boardfontsize{#1}%
    \cfss@getsquaresize{\BlackEmptySquare}}

\newcommand\showchessboardencoding[2][skaknew]{%
  \ifcsname cfss@showboardencoding#2\endcsname
   \@ifundefined{colorbox}
    {\PackageWarning{chessfss}{color package not loaded!}{}
     \def\colorbox[2][]{}}
    {\begingroup
      \setboardfontencoding{#2}%
      \setboardfontfamily{#1}%
      \normalfont
      \colorbox[gray]{0.95}{\csname cfss@showboardencoding#2\endcsname}
     \endgroup}%
  \else
   \PackageError{chessfss}{Encoding #2 has no description or hasn't been loaded}{}
  \fi}

%%% New 2005-12-15. Commands to get width, totalheight, and depth (for
%%% correction) of the board.

\newlength\len@cfss@squarewidth
\newlength\len@cfss@squaretotalheight
\newlength\len@cfss@squaredepth

\newcommand\cfss@getsquaresize[1]{% use e.g.e as \cfss@getsquaresize{\BlackEmptySquare}
    \settowidth\len@cfss@squarewidth{#1}%
    \settodepth\len@cfss@squaredepth{#1}%
    \settoheight\len@cfss@squaretotalheight{\raisebox{\depth}{#1}}}%

\newcommand\cfss@globalgetsquaresize[1]{% use e.g.e as \cfss@getsquaresize{\BlackEmptySquare}
    \settowidth{\global\len@cfss@squarewidth}{#1}%
    \settodepth{\global\len@cfss@squaredepth}{#1}%
    \settoheight{\global\len@cfss@squaretotalheight}{\raisebox{\depth}{#1}}}%

\let\getsquaresize\cfss@getsquaresize

%%% end New 2005-12-15

%%2006-05-24 color encodings commands

\providecommand\cfss@whitefieldmaskcolor{\color{white}}
\providecommand\cfss@blackfieldmaskcolor{\color{gray}}
\providecommand\cfss@whitefieldcolor{}
\providecommand\cfss@blackfieldcolor{}
\providecommand\cfss@whiteonwhitepiecemaskcolor{\color{white}}
\providecommand\cfss@whiteonblackpiecemaskcolor{\color{white}}
\providecommand\cfss@blackonwhitepiecemaskcolor{\color{white}}
\providecommand\cfss@blackonblackpiecemaskcolor{\color{white}}
\providecommand\cfss@whitepiececolor{}
\providecommand\cfss@blackpiececolor{}

\define@key[UFCF]{gloset}{whitefieldmask}{%
  \def\cfss@whitefieldmaskcolor{\color{#1}}}%

\define@key[UFCF]{gloset}{blackfieldmask}{%
  \def\cfss@blackfieldmaskcolor{\color{#1}}}%

\define@key[UFCF]{gloset}{whitefield}{%
  \def\cfss@whitefieldcolor{\color{#1}}}%

\define@key[UFCF]{gloset}{blackfield}{%
  \def\cfss@blackfieldcolor{\color{#1}}}%

\define@key[UFCF]{gloset}{whiteonwhitepiecemask}{%
  \def\cfss@whiteonwhitepiecemaskcolor{\color{#1}}}%

\define@key[UFCF]{gloset}{blackonwhitepiecemask}{%
  \def\cfss@blackonwhitepiecemaskcolor{\color{#1}}}%

\define@key[UFCF]{gloset}{whiteonblackpiecemask}{%
  \def\cfss@whiteonblackpiecemaskcolor{\color{#1}}}%

\define@key[UFCF]{gloset}{blackonblackpiecemask}{%
  \def\cfss@blackonblackpiecemaskcolor{\color{#1}}}%

\define@key[UFCF]{gloset}{whitepiece}{%
  \def\cfss@whitepiececolor{\color{#1}}}%

\define@key[UFCF]{gloset}{blackpiece}{%
  \def\cfss@blackpiececolor{\color{#1}}}%

\newcommand\setboardfontcolors[1]{%
    \setkeys[UFCF]{gloset}{#1}}

%% Font commands. The baselineskip is equal to the total height of the black
%% square

\DeclareRobustCommand\cfss@boardfont{% changed 2005-06-28
             \fontencoding{\cfss@boardfontencoding}%
             \fontfamily{\cfss@boardfontfamily}%
             \fontshape{n}%
             \fontseries{\cfss@boardfontseries}%
             \fontsize{\cfss@boardfontsize}{\cfss@boardfontsize}%
             \selectfont
             \settoheight\baselineskip{\raisebox{\depth}{Z}}}%

\let\boardfont\cfss@boardfont

\DeclareRobustCommand\cfss@boardsymbol[1]{%
%%changed 2005-12-15 to prevent the insertion of italic
%%correction in boards. \DeclareTextFontCommand is no longer
%%used
    \ifmmode
      \nfss@text{\cfss@boardfont#1}%
    \else
      \hmode@bgroup
       \cfss@boardfont#1%
      \egroup
    \fi
                       }%

\let\boardsymbol\cfss@boardsymbol

%% to be able to change figurine and board together
%% we define a setchessfontfamily command:

\newcommand*\setchessfontfamily[1]{%
    \renewcommand*\cfss@figfontfamily{#1}%
    \renewcommand*\cfss@boardfontfamily{#1}}

%% and a command for all three families

\newcommand*\setallchessfontfamily[1]{%
    \renewcommand*\cfss@figfontfamily{#1}%
    \renewcommand*\cfss@boardfontfamily{#1}%
    \renewcommand*\cfss@inffontfamily{#1}}
%%%% the font with the informator symbol.

\newcommand*\cfss@inffontencoding{LSI}
\newcommand*\cfss@inffontfamily     {\cfss@default@family}

\newcommand*\setinffontfamily[1]{%
    \renewcommand*\cfss@inffontfamily{#1}}

%% declaration command
\DeclareRobustCommand\cfss@inffont{%
    \fontencoding  {LSI}%
    \fontfamily    {\cfss@inffontfamily}%
    \selectfont}

\let\inffont\cfss@inffont

\DeclareTextFontCommand\cfss@infsymbol{\cfss@inffont}

\let\infsymbol\cfss@infsymbol

%%% for notation on the board side, this font should be a "fixed" font, so
%%% every font characteristik can be defined:

\newcommand*\cfss@sidefontencoding{\encodingdefault}
\newcommand*\cfss@sidefontfamily  {\sfdefault}
\newcommand*\cfss@sidefontshape   {\updefault}
\newcommand*\cfss@sidefontseries  {\mddefault}
\newcommand*\cfss@sidefontsize    {6pt}

\newcommand*\setsidefontencoding[1]{%
    \renewcommand*\cfss@sidefontencoding{#1}}

\newcommand*\setsidefontfamily[1]{%
    \renewcommand*\cfss@sidefontfamily{#1}}

\newcommand*\setsidefontshape[1]{%
    \renewcommand*\cfss@sidefontshape{#1}}

\newcommand*\setsidefontseries[1]{%
    \renewcommand*\cfss@sidefontseries{#1}}

\newcommand*\setsidefontsize[1]{%
    \renewcommand*\cfss@sidefontsize{#1}}

%% declaration command

\DeclareRobustCommand\cfss@sidefont{%changed 2005-12-02
                                    %corrected missing %
            \fontsize{\cfss@sidefontsize}{\cfss@sidefontsize}%
            \usefont{\cfss@sidefontencoding}%
                    {\cfss@sidefontfamily}%
                    {\cfss@sidefontseries}%
                    {\cfss@sidefontshape}}

\newcommand\sidefont{}
\let\sidefont\cfss@sidefont

\DeclareTextFontCommand\cfss@sidesymbol{\cfss@sidefont}

\newcommand\sidesymbol{}
\let\sidesymbol\cfss@sidesymbol

%%% command to change size of boardfont and notation font
%%% This is an internal command as packages will perhaps
%%% need to adjust other things
%%% The command is obsolete. package writer should better
%%% decide themselve which piece should be the reference piece.
%%% But as skak.sty use the command I didn't delete it.

\newcommand\cfss@setupboardsize[2]{%
%% changed 2005-12-15. added \cfss@getsquaresize
           \renewcommand\cfss@boardfontsize     {#1}%
           \renewcommand\cfss@sidefontsize  {#2}%
           \cfss@getsquaresize{\BlackEmptySquare}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%% support for symbols
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Symbols from figurine font (LSF encoding),
%%%  commands are above

%%% Symbols from the board font (LSB encoding)
%%% These symbols are of less use for the normal user, so names with Initials are used

\DeclareRobustCommand\WhiteEmptySquare  {\cfss@boardsymbol{\cfss@WhiteEmptySquare}}
\DeclareRobustCommand\BlackEmptySquare  {\cfss@boardsymbol{\cfss@BlackEmptySquare}}
\DeclareRobustCommand\WhiteKingOnWhite  {\cfss@boardsymbol{\cfss@WhiteKingOnWhite}}
\DeclareRobustCommand\BlackKingOnWhite  {\cfss@boardsymbol{\cfss@BlackKingOnWhite}}
\DeclareRobustCommand\WhiteKingOnBlack  {\cfss@boardsymbol{\cfss@WhiteKingOnBlack}}
\DeclareRobustCommand\BlackKingOnBlack  {\cfss@boardsymbol{\cfss@BlackKingOnBlack}}
\DeclareRobustCommand\WhiteQueenOnWhite {\cfss@boardsymbol{\cfss@WhiteQueenOnWhite}}
\DeclareRobustCommand\BlackQueenOnWhite {\cfss@boardsymbol{\cfss@BlackQueenOnWhite}}
\DeclareRobustCommand\WhiteQueenOnBlack {\cfss@boardsymbol{\cfss@WhiteQueenOnBlack}}
\DeclareRobustCommand\BlackQueenOnBlack {\cfss@boardsymbol{\cfss@BlackQueenOnBlack}}
\DeclareRobustCommand\WhiteRookOnWhite  {\cfss@boardsymbol{\cfss@WhiteRookOnWhite}}
\DeclareRobustCommand\BlackRookOnWhite  {\cfss@boardsymbol{\cfss@BlackRookOnWhite}}
\DeclareRobustCommand\WhiteRookOnBlack  {\cfss@boardsymbol{\cfss@WhiteRookOnBlack}}
\DeclareRobustCommand\BlackRookOnBlack  {\cfss@boardsymbol{\cfss@BlackRookOnBlack}}
\DeclareRobustCommand\WhiteBishopOnWhite{\cfss@boardsymbol{\cfss@WhiteBishopOnWhite}}
\DeclareRobustCommand\BlackBishopOnWhite{\cfss@boardsymbol{\cfss@BlackBishopOnWhite}}
\DeclareRobustCommand\WhiteBishopOnBlack{\cfss@boardsymbol{\cfss@WhiteBishopOnBlack}}
\DeclareRobustCommand\BlackBishopOnBlack{\cfss@boardsymbol{\cfss@BlackBishopOnBlack}}
\DeclareRobustCommand\WhiteKnightOnWhite{\cfss@boardsymbol{\cfss@WhiteKnightOnWhite}}
\DeclareRobustCommand\BlackKnightOnWhite{\cfss@boardsymbol{\cfss@BlackKnightOnWhite}}
\DeclareRobustCommand\WhiteKnightOnBlack{\cfss@boardsymbol{\cfss@WhiteKnightOnBlack}}
\DeclareRobustCommand\BlackKnightOnBlack{\cfss@boardsymbol{\cfss@BlackKnightOnBlack}}
\DeclareRobustCommand\WhitePawnOnWhite  {\cfss@boardsymbol{\cfss@WhitePawnOnWhite}}
\DeclareRobustCommand\BlackPawnOnWhite  {\cfss@boardsymbol{\cfss@BlackPawnOnWhite}}
\DeclareRobustCommand\WhitePawnOnBlack  {\cfss@boardsymbol{\cfss@WhitePawnOnBlack}}
\DeclareRobustCommand\BlackPawnOnBlack  {\cfss@boardsymbol{\cfss@BlackPawnOnBlack}}

%%% Various Symbols from textfont

\DeclareRobustCommand\castlingchar  {O}
\DeclareRobustCommand\novelty       {{\textsf{N}}}
\ifcsname comment\endcsname
 \PackageWarning{chessfss}{\string\comment\space already defined
 \MessageBreak I will not overwrite it}
\else
 \newcommand\comment       {{\textsf{\mbox{RR}}}}
\fi
\DeclareRobustCommand\chesscomment  {{\textsf{\mbox{RR}}}}
\DeclareRobustCommand\various       {{\textsf{R}}}

%%% Commands for castling, definitions are temporary, don't know yet
%%% the best way to handle them, so that glyphs can be used
\newcommand\shortcastling{\mbox{\castlingchar\castlinghyphen\castlingchar}}
\newcommand\longcastling{\mbox{\castlingchar\castlinghyphen\castlingchar\castlinghyphen\castlingchar}}

\newcommand\cfss@shortcastling{\mbox{\castlingchar\castlinghyphen\castlingchar}}
\newcommand\cfss@longcastling{\mbox{\castlingchar\castlinghyphen\castlingchar\castlinghyphen\castlingchar}}


%%% Symbols from the LSI encoding (informator symbols)

\DeclareRobustCommand\castlinghyphen{{\cfss@infsymbol{\cfss@castlinghyphen}}}
\DeclareRobustCommand\checksymbol   {{\cfss@infsymbol{\cfss@checksymbol}}}
\let\checksign\checksymbol %for texmate
\DeclareRobustCommand\bishoppair    {{\cfss@infsymbol{\cfss@bishoppair}}}
\let\bishops\bishoppair %for texmate
\DeclareRobustCommand\betteris      {{\cfss@infsymbol{\cfss@betteris}}}
\DeclareRobustCommand\wupperhand    {{\cfss@infsymbol{\cfss@wupperhand}}}
\let\wBetter\wupperhand %for texmate
\DeclareRobustCommand\doublepawns   {{\cfss@infsymbol{\cfss@doublepawns}}}
\let\doubledpawns\doublepawns %for texmate
\DeclareRobustCommand\bupperhand    {{\cfss@infsymbol{\cfss@bupperhand}}}
\let\bBetter\bupperhand %for texmate
\DeclareRobustCommand\wbetter       {{\cfss@infsymbol{\cfss@wbetter}}}
\DeclareRobustCommand\bbetter       {{\cfss@infsymbol{\cfss@bbetter}}}
\DeclareRobustCommand\wdecisive     {{\cfss@infsymbol{\cfss@wdecisive}}}
\let\WBetter\wdecisive %for texmate
\DeclareRobustCommand\bdecisive     {{\cfss@infsymbol{\cfss@bdecisive}}}
\let\BBetter\bdecisive %for texmate
\DeclareRobustCommand\equal         {{\cfss@infsymbol{\cfss@equal}}}
\DeclareRobustCommand\unclear       {{\cfss@infsymbol{\cfss@unclear}}}
\DeclareRobustCommand\chesssee      {{\cfss@infsymbol{\cfss@chesssee}}}
%% Definition of \see delated as there is clash with makeidx
%%\let\chesssee\see %for texmate
\DeclareRobustCommand\mate          {{\cfss@infsymbol{\cfss@mate}}}
\DeclareRobustCommand\compensation  {{\cfss@infsymbol{\cfss@compensation}}}
\DeclareRobustCommand\opposbishops  {{\cfss@infsymbol{\cfss@opposbishops}}}
\let\oppositebishops\opposbishops %for texmate
\DeclareRobustCommand\seppawns      {{\cfss@infsymbol{\cfss@seppawns}}}
\let\separatedpawns\seppawns %for texmate
\DeclareRobustCommand\passedpawn    {{\cfss@infsymbol{\cfss@passedpawn}}}
\DeclareRobustCommand\samebishops   {{\cfss@infsymbol{\cfss@samebishops}}}
\DeclareRobustCommand\devadvantage  {{\cfss@infsymbol{\cfss@devadvantage}}}
\let\development\devadvantage%for texmate
\DeclareRobustCommand\unitedpawns   {{\cfss@infsymbol{\cfss@unitedpawns}}}
\DeclareRobustCommand\with          {{\cfss@infsymbol{\cfss@with}}} %changed2005.05.09
\DeclareRobustCommand\without       {{\cfss@infsymbol{\cfss@without}}} %changed2005.05.09
\DeclareRobustCommand\markera       {{\cfss@infsymbol{\cfss@markera}}}
\DeclareRobustCommand\markerb       {{\cfss@infsymbol{\cfss@markerb}}}
\DeclareRobustCommand\withattack    {{\cfss@infsymbol{\cfss@withattack}}}
\let\attack\withattack %for texmate
\DeclareRobustCommand\withinit      {{\cfss@infsymbol{\cfss@withinit}}}
\let\initiative\withinit %for texmate
\DeclareRobustCommand\zugzwang      {{\cfss@infsymbol{\cfss@zugzwang}}}
\DeclareRobustCommand\withidea      {{\cfss@infsymbol{\cfss@withidea}}}
\DeclareRobustCommand\onlymove      {{\cfss@infsymbol{\cfss@onlymove}}}
\DeclareRobustCommand\diagonal      {{\cfss@infsymbol{\cfss@diagonal}}}
\let\boarddiagonal\diagonal %for texmate
\DeclareRobustCommand\file          {{\cfss@infsymbol{\cfss@file}}}
\let\boardfile\file %for texmate
\DeclareRobustCommand\centre        {{\cfss@infsymbol{\cfss@centre}}}
\let\boardcenter\centre %for texmate
\DeclareRobustCommand\weakpt        {{\cfss@infsymbol{\cfss@weakpt}}}
\let\weak\weakpt %for texmate, symbol changed
\DeclareRobustCommand\ending        {{\cfss@infsymbol{\cfss@ending}}}
\DeclareRobustCommand\qside         {{\cfss@infsymbol{\cfss@qside}}}
\let\queenside\qside %for texmate
\DeclareRobustCommand\kside         {{\cfss@infsymbol{\cfss@kside}}}
\let\kingside\kside %for texmate
\DeclareRobustCommand\etc           {{\cfss@infsymbol{\cfss@etc}}}
\let\chessetc\etc %for texmate
\DeclareRobustCommand\morepawns     {{\cfss@infsymbol{\cfss@morepawns}}}
\let\pawnsno\morepawns %for texmate
\DeclareRobustCommand\timelimit     {{\cfss@infsymbol{\cfss@timelimit}}}
\let\timetrouble\timelimit %for texmate
\DeclareRobustCommand\moreroom      {{\cfss@infsymbol{\cfss@moreroom}}}
\let\spaceadv\moreroom %for texmate, use other symbol than texmate here!
\DeclareRobustCommand\counterplay   {{\cfss@infsymbol{\cfss@counterplay}}}
\DeclareRobustCommand\capturesymbol {{\cfss@infsymbol{\cfss@capturesymbol}}}

\InputIfFileExists{chessfss.cfg}{}{}
%</sty>
%Encoding files
%<*lsfenc>
\ProvidesFile{lsfenc.def}
 [2006/06/09 v1.2
         Standard LaTeX file]
\DeclareFontEncoding{LSF}{}{}
\DeclareFontSubstitution{LSF}{skaknew}{m}{n}

%% Symbols from the figurine font (LSF encoding)

\DeclareTextSymbol\cfss@symrook          {LSF}{82}
\DeclareTextSymbol\cfss@symknight        {LSF}{78}
\DeclareTextSymbol\cfss@symbishop        {LSF}{66}
\DeclareTextSymbol\cfss@symqueen         {LSF}{81}
\DeclareTextSymbol\cfss@symking          {LSF}{75}
\DeclareTextSymbol\cfss@sympawn          {LSF}{112}

\DeclareTextSymbolDefault\cfss@symrook          {LSF}
\DeclareTextSymbolDefault\cfss@symknight        {LSF}
\DeclareTextSymbolDefault\cfss@symbishop        {LSF}
\DeclareTextSymbolDefault\cfss@symqueen         {LSF}
\DeclareTextSymbolDefault\cfss@symking          {LSF}
\DeclareTextSymbolDefault\cfss@sympawn          {LSF}
%</lsfenc>
%<*lsbenc>
\ProvidesFile{lsbenc.def}
 [2006/06/09 v1.2
         Standard LaTeX file]
\DeclareFontEncoding{LSB}{}{}
\DeclareFontSubstitution{LSB}{skaknew}{m}{n}

\providecommand\cfss@whitepiececolor{}
\providecommand\cfss@blackpiececolor{}
\providecommand\cfss@whitefieldcolor{}
\providecommand\cfss@blackfieldcolor{}

\@namedef{cfss@showboardencodingLSB}{%
\begin{tabular}{llllll}
\multicolumn{6}{l}{\bfseries Encoding \ttfamily LSB}\\[0.5ex]
 Layer:       & fieldmask
              & field
              & piecemask
              & piece
              & result\\
 WhiteSquare  &
              & (color)
              &
              &\boardfont\cfss@whitepiececolor 0
              &\boardfont\cfss@WhiteEmptySquare\\
 BlackSquare  &
              & (color)
              &
              &\boardfont\cfss@blackpiececolor Z
              &\boardfont\cfss@BlackEmptySquare\\
 WhiteOnWhite &
              & (color)
              &
              &\boardfont\cfss@whitepiececolor K
              &\boardfont\cfss@WhiteKingOnWhite\\
 WhiteOnBlack &
              & (color)
              &
              &\boardfont\cfss@whitepiececolor J
              &\boardfont\cfss@WhiteKingOnBlack\\
 BlackOnWhite &
              & (color)
              &
              &\boardfont\cfss@blackpiececolor k
              &\boardfont\cfss@BlackKingOnWhite\\
 BlackOnBlack &
              & (color)
              &
              &\boardfont\cfss@blackpiececolor j
              &\boardfont\cfss@BlackKingOnBlack\\
\end{tabular}}

%% Symbols from the board font (LSB encoding)

\DeclareTextCommand\cfss@WhiteEmptySquare  {LSB}{{\cfss@whitefieldcolor\cfss@whitepiececolor 0}}
\DeclareTextCommand\cfss@BlackEmptySquare  {LSB}{{\cfss@blackfieldcolor\cfss@blackpiececolor Z}}
\DeclareTextCommand\cfss@WhiteKingOnWhite  {LSB}{{\cfss@whitefieldcolor\cfss@whitepiececolor K}}
\DeclareTextCommand\cfss@BlackKingOnWhite  {LSB}{{\cfss@whitefieldcolor\cfss@blackpiececolor k}}
\DeclareTextCommand\cfss@WhiteKingOnBlack  {LSB}{{\cfss@blackfieldcolor\cfss@whitepiececolor J}}
\DeclareTextCommand\cfss@BlackKingOnBlack  {LSB}{{\cfss@blackfieldcolor\cfss@blackpiececolor j}}
\DeclareTextCommand\cfss@WhiteQueenOnWhite {LSB}{{\cfss@whitefieldcolor\cfss@whitepiececolor Q}}
\DeclareTextCommand\cfss@BlackQueenOnWhite {LSB}{{\cfss@whitefieldcolor\cfss@blackpiececolor q}}
\DeclareTextCommand\cfss@WhiteQueenOnBlack {LSB}{{\cfss@blackfieldcolor\cfss@whitepiececolor L}}
\DeclareTextCommand\cfss@BlackQueenOnBlack {LSB}{{\cfss@blackfieldcolor\cfss@blackpiececolor l}}
\DeclareTextCommand\cfss@WhiteRookOnWhite  {LSB}{{\cfss@whitefieldcolor\cfss@whitepiececolor R}}
\DeclareTextCommand\cfss@BlackRookOnWhite  {LSB}{{\cfss@whitefieldcolor\cfss@blackpiececolor r}}
\DeclareTextCommand\cfss@WhiteRookOnBlack  {LSB}{{\cfss@blackfieldcolor\cfss@whitepiececolor S}}
\DeclareTextCommand\cfss@BlackRookOnBlack  {LSB}{{\cfss@blackfieldcolor\cfss@blackpiececolor s}}
\DeclareTextCommand\cfss@WhiteBishopOnWhite{LSB}{{\cfss@whitefieldcolor\cfss@whitepiececolor B}}
\DeclareTextCommand\cfss@BlackBishopOnWhite{LSB}{{\cfss@whitefieldcolor\cfss@blackpiececolor b}}
\DeclareTextCommand\cfss@WhiteBishopOnBlack{LSB}{{\cfss@blackfieldcolor\cfss@whitepiececolor A}}
\DeclareTextCommand\cfss@BlackBishopOnBlack{LSB}{{\cfss@blackfieldcolor\cfss@blackpiececolor a}}
\DeclareTextCommand\cfss@WhiteKnightOnWhite{LSB}{{\cfss@whitefieldcolor\cfss@whitepiececolor N}}
\DeclareTextCommand\cfss@BlackKnightOnWhite{LSB}{{\cfss@whitefieldcolor\cfss@blackpiececolor n}}
\DeclareTextCommand\cfss@WhiteKnightOnBlack{LSB}{{\cfss@blackfieldcolor\cfss@whitepiececolor M}}
\DeclareTextCommand\cfss@BlackKnightOnBlack{LSB}{{\cfss@blackfieldcolor\cfss@blackpiececolor m}}
\DeclareTextCommand\cfss@WhitePawnOnWhite  {LSB}{{\cfss@whitefieldcolor\cfss@whitepiececolor P}}
\DeclareTextCommand\cfss@BlackPawnOnWhite  {LSB}{{\cfss@whitefieldcolor\cfss@blackpiececolor p}}
\DeclareTextCommand\cfss@WhitePawnOnBlack  {LSB}{{\cfss@blackfieldcolor\cfss@whitepiececolor O}}
\DeclareTextCommand\cfss@BlackPawnOnBlack  {LSB}{{\cfss@blackfieldcolor\cfss@blackpiececolor o}}

%% Symbols from the board font (LSB encoding)

\DeclareTextSymbolDefault\cfss@WhiteEmptySquare  {LSB}
\DeclareTextSymbolDefault\cfss@BlackEmptySquare  {LSB}
\DeclareTextSymbolDefault\cfss@WhiteKingOnWhite  {LSB}
\DeclareTextSymbolDefault\cfss@BlackKingOnWhite  {LSB}
\DeclareTextSymbolDefault\cfss@WhiteKingOnBlack  {LSB}
\DeclareTextSymbolDefault\cfss@BlackKingOnBlack  {LSB}
\DeclareTextSymbolDefault\cfss@WhiteQueenOnWhite {LSB}
\DeclareTextSymbolDefault\cfss@BlackQueenOnWhite {LSB}
\DeclareTextSymbolDefault\cfss@WhiteQueenOnBlack {LSB}
\DeclareTextSymbolDefault\cfss@BlackQueenOnBlack {LSB}
\DeclareTextSymbolDefault\cfss@WhiteRookOnWhite  {LSB}
\DeclareTextSymbolDefault\cfss@BlackRookOnWhite  {LSB}
\DeclareTextSymbolDefault\cfss@WhiteRookOnBlack  {LSB}
\DeclareTextSymbolDefault\cfss@BlackRookOnBlack  {LSB}
\DeclareTextSymbolDefault\cfss@WhiteBishopOnWhite{LSB}
\DeclareTextSymbolDefault\cfss@BlackBishopOnWhite{LSB}
\DeclareTextSymbolDefault\cfss@WhiteBishopOnBlack{LSB}
\DeclareTextSymbolDefault\cfss@BlackBishopOnBlack{LSB}
\DeclareTextSymbolDefault\cfss@WhiteKnightOnWhite{LSB}
\DeclareTextSymbolDefault\cfss@BlackKnightOnWhite{LSB}
\DeclareTextSymbolDefault\cfss@WhiteKnightOnBlack{LSB}
\DeclareTextSymbolDefault\cfss@BlackKnightOnBlack{LSB}
\DeclareTextSymbolDefault\cfss@WhitePawnOnWhite  {LSB}
\DeclareTextSymbolDefault\cfss@BlackPawnOnWhite  {LSB}
\DeclareTextSymbolDefault\cfss@WhitePawnOnBlack  {LSB}
\DeclareTextSymbolDefault\cfss@BlackPawnOnBlack  {LSB}
%</lsbenc>
%<*lsienc>
\ProvidesFile{lsienc.def}
 [2006/06/09 v1.2
         Standard LaTeX file]
\DeclareFontEncoding{LSI}{}{}
\DeclareFontSubstitution{LSI}{skaknew}{m}{n}

%% Symbols from the figurine font (LSI encoding)

\DeclareTextSymbol\cfss@castlinghyphen{LSI}{45}
\DeclareTextSymbol\cfss@checksymbol   {LSI}{43}
\DeclareTextSymbol\cfss@bishoppair    {LSI}{97}
\DeclareTextSymbol\cfss@betteris      {LSI}{98}
\DeclareTextSymbol\cfss@wupperhand    {LSI}{99}
\DeclareTextSymbol\cfss@doublepawns   {LSI}{100}
\DeclareTextSymbol\cfss@bupperhand    {LSI}{101}
\DeclareTextSymbol\cfss@wbetter       {LSI}{102}
\DeclareTextSymbol\cfss@bbetter       {LSI}{103}
\DeclareTextSymbol\cfss@wdecisive     {LSI}{104}
\DeclareTextSymbol\cfss@bdecisive     {LSI}{105}
\DeclareTextSymbol\cfss@equal         {LSI}{106}
\DeclareTextSymbol\cfss@unclear       {LSI}{107}
\DeclareTextSymbol\cfss@chesssee      {LSI}{108}
\DeclareTextSymbol\cfss@mate          {LSI}{109}
\DeclareTextSymbol\cfss@compensation  {LSI}{110}
\DeclareTextSymbol\cfss@opposbishops  {LSI}{111}
\DeclareTextSymbol\cfss@seppawns      {LSI}{113}
\DeclareTextSymbol\cfss@passedpawn    {LSI}{114}
\DeclareTextSymbol\cfss@samebishops   {LSI}{115}
\DeclareTextSymbol\cfss@devadvantage  {LSI}{116}
\DeclareTextSymbol\cfss@unitedpawns   {LSI}{117}
\DeclareTextSymbol\cfss@with          {LSI}{118}
\DeclareTextSymbol\cfss@without       {LSI}{119}
\DeclareTextSymbol\cfss@markera       {LSI}{120}
\DeclareTextSymbol\cfss@markerb       {LSI}{121}
\DeclareTextSymbol\cfss@withattack    {LSI}{65}
\DeclareTextSymbol\cfss@withinit      {LSI}{67}
\DeclareTextSymbol\cfss@zugzwang      {LSI}{68}
\DeclareTextSymbol\cfss@withidea      {LSI}{69}
\DeclareTextSymbol\cfss@onlymove      {LSI}{70}
\DeclareTextSymbol\cfss@diagonal      {LSI}{71}
\DeclareTextSymbol\cfss@file          {LSI}{72}
\DeclareTextSymbol\cfss@centre        {LSI}{73}
\DeclareTextSymbol\cfss@weakpt        {LSI}{74}
\DeclareTextSymbol\cfss@ending        {LSI}{76}
\DeclareTextSymbol\cfss@qside         {LSI}{77}
\DeclareTextSymbol\cfss@kside         {LSI}{79}
\DeclareTextSymbol\cfss@etc           {LSI}{80}
\DeclareTextSymbol\cfss@morepawns     {LSI}{83}
\DeclareTextSymbol\cfss@timelimit     {LSI}{84}
\DeclareTextSymbol\cfss@moreroom      {LSI}{85}
\DeclareTextSymbol\cfss@counterplay   {LSI}{86}
\DeclareTextSymbol\cfss@capturesymbol {LSI}{88}

\DeclareTextSymbolDefault\cfss@castlinghyphen{LSI}
\DeclareTextSymbolDefault\cfss@checksymbol   {LSI}
\DeclareTextSymbolDefault\cfss@bishoppair    {LSI}
\DeclareTextSymbolDefault\cfss@betteris      {LSI}
\DeclareTextSymbolDefault\cfss@wupperhand    {LSI}
\DeclareTextSymbolDefault\cfss@doublepawns   {LSI}
\DeclareTextSymbolDefault\cfss@bupperhand    {LSI}
\DeclareTextSymbolDefault\cfss@wbetter       {LSI}
\DeclareTextSymbolDefault\cfss@bbetter       {LSI}
\DeclareTextSymbolDefault\cfss@wdecisive     {LSI}
\DeclareTextSymbolDefault\cfss@bdecisive     {LSI}
\DeclareTextSymbolDefault\cfss@equal         {LSI}
\DeclareTextSymbolDefault\cfss@unclear       {LSI}
\DeclareTextSymbolDefault\cfss@see           {LSI}
\DeclareTextSymbolDefault\cfss@mate          {LSI}
\DeclareTextSymbolDefault\cfss@compensation  {LSI}
\DeclareTextSymbolDefault\cfss@opposbishops  {LSI}
\DeclareTextSymbolDefault\cfss@seppawns      {LSI}
\DeclareTextSymbolDefault\cfss@passedpawn    {LSI}
\DeclareTextSymbolDefault\cfss@samebishops   {LSI}
\DeclareTextSymbolDefault\cfss@devadvantage  {LSI}
\DeclareTextSymbolDefault\cfss@unitedpawns   {LSI}
\DeclareTextSymbolDefault\cfss@with          {LSI}
\DeclareTextSymbolDefault\cfss@without       {LSI}
\DeclareTextSymbolDefault\cfss@markera       {LSI}
\DeclareTextSymbolDefault\cfss@markerb       {LSI}
\DeclareTextSymbolDefault\cfss@withattack    {LSI}
\DeclareTextSymbolDefault\cfss@withinit      {LSI}
\DeclareTextSymbolDefault\cfss@zugzwang      {LSI}
\DeclareTextSymbolDefault\cfss@withidea      {LSI}
\DeclareTextSymbolDefault\cfss@onlymove      {LSI}
\DeclareTextSymbolDefault\cfss@diagonal      {LSI}
\DeclareTextSymbolDefault\cfss@file          {LSI}
\DeclareTextSymbolDefault\cfss@centre        {LSI}
\DeclareTextSymbolDefault\cfss@weakpt        {LSI}
\DeclareTextSymbolDefault\cfss@ending        {LSI}
\DeclareTextSymbolDefault\cfss@qside         {LSI}
\DeclareTextSymbolDefault\cfss@kside         {LSI}
\DeclareTextSymbolDefault\cfss@etc           {LSI}
\DeclareTextSymbolDefault\cfss@morepawns     {LSI}
\DeclareTextSymbolDefault\cfss@timelimit     {LSI}
\DeclareTextSymbolDefault\cfss@moreroom      {LSI}
\DeclareTextSymbolDefault\cfss@counterplay   {LSI}
\DeclareTextSymbolDefault\cfss@capturesymbol {LSI}
%</lsienc>
%<*lsb1enc>
%%
%% LSB1: An encoding for chessboard chars
%% that makes it possible to color field and the piece differently.
%% In this encoding the pieces/fields are build with two characters:
%% as field-Layer: pieceOnBlack and as piece-layer: pieceOnWhite.
%% The solid fieldmask layer and the piecemask layer are not used.
%% The encoding (only) works with fonts that can also be encoded as LSB.
%% It will not give a professional looking result!
%% It will not work well if the pieceOnWhite don't cover the pieceOnBlack exactly.

\ProvidesFile{lsb1enc.def}
 [2006/06/09 v1.1
         Standard LaTeX file]

\DeclareFontEncoding{LSB1}{}{}
\DeclareFontSubstitution{LSB1}{skaknew}{m}{n}

\providecommand\cfss@whitefieldcolor{}
\providecommand\cfss@blackfieldcolor{}
\providecommand\cfss@whitepiececolor{}
\providecommand\cfss@blackpiececolor{}

\providecommand\cfss@composefpcolorchar[4]{%range layer: f, p
  \makebox[0pt][l]{%
    \csname cfss@#1fieldcolor\endcsname#2}%
  {\csname cfss@#3piececolor\endcsname#4}}%

\@namedef{cfss@showboardencodingLSB1}{%
\begin{tabular}{llllll}
\multicolumn{6}{l}{\bfseries Encoding \ttfamily LSB1}\\[0.5ex]
 Layer:       & fieldmask
              & field
              & piecemask
              & piece
              & result\\
 WhiteSquare  &
              &\boardfont\cfss@whitefieldcolor 0
              &
              &
              &\boardfont\cfss@WhiteEmptySquare\\
 BlackSquare  &
              &\boardfont\cfss@blackfieldcolor Z
              &
              &
              &\boardfont\cfss@BlackEmptySquare\\
 WhiteOnWhite &
              &
              &
              &\boardfont\cfss@whitepiececolor K
              &\boardfont\cfss@WhiteKingOnWhite\\
 WhiteOnBlack &
              &\boardfont\cfss@blackfieldcolor J
              &
              &\boardfont\cfss@whitepiececolor K
              &\boardfont\cfss@WhiteKingOnBlack\\
 BlackOnWhite &
              &
              &
              &\boardfont\cfss@blackpiececolor k
              &\boardfont\cfss@BlackKingOnWhite\\
 BlackOnBlack &
              &\boardfont\cfss@blackfieldcolor j
              &
              &\boardfont\cfss@blackpiececolor k
              &\boardfont\cfss@BlackKingOnBlack\\
\end{tabular}}


\DeclareTextCommand\cfss@WhiteEmptySquare  {LSB1}{{\cfss@whitefieldcolor 0}}
\DeclareTextCommand\cfss@BlackEmptySquare  {LSB1}{{\cfss@blackfieldcolor Z}}
\DeclareTextCommand\cfss@WhiteKingOnWhite  {LSB1}{\cfss@composefpcolorchar{white}{}{white}{K}}
\DeclareTextCommand\cfss@BlackKingOnWhite  {LSB1}{\cfss@composefpcolorchar{white}{}{black}{k}}
\DeclareTextCommand\cfss@WhiteKingOnBlack  {LSB1}{\cfss@composefpcolorchar{black}{J}{white}{K}}
\DeclareTextCommand\cfss@BlackKingOnBlack  {LSB1}{\cfss@composefpcolorchar{black}{j}{black}{k}}
\DeclareTextCommand\cfss@WhiteQueenOnWhite {LSB1}{\cfss@composefpcolorchar{white}{}{white}{Q}}
\DeclareTextCommand\cfss@BlackQueenOnWhite {LSB1}{\cfss@composefpcolorchar{white}{}{black}{q}}
\DeclareTextCommand\cfss@WhiteQueenOnBlack {LSB1}{\cfss@composefpcolorchar{black}{L}{white}{Q}}
\DeclareTextCommand\cfss@BlackQueenOnBlack {LSB1}{\cfss@composefpcolorchar{black}{l}{black}{q}}
\DeclareTextCommand\cfss@WhiteRookOnWhite  {LSB1}{\cfss@composefpcolorchar{white}{}{white}{R}}
\DeclareTextCommand\cfss@BlackRookOnWhite  {LSB1}{\cfss@composefpcolorchar{white}{}{black}{r}}
\DeclareTextCommand\cfss@WhiteRookOnBlack  {LSB1}{\cfss@composefpcolorchar{black}{S}{white}{R}}
\DeclareTextCommand\cfss@BlackRookOnBlack  {LSB1}{\cfss@composefpcolorchar{black}{s}{black}{r}}
\DeclareTextCommand\cfss@WhiteBishopOnWhite{LSB1}{\cfss@composefpcolorchar{white}{}{white}{B}}
\DeclareTextCommand\cfss@BlackBishopOnWhite{LSB1}{\cfss@composefpcolorchar{white}{}{black}{b}}
\DeclareTextCommand\cfss@WhiteBishopOnBlack{LSB1}{\cfss@composefpcolorchar{black}{A}{white}{B}}
\DeclareTextCommand\cfss@BlackBishopOnBlack{LSB1}{\cfss@composefpcolorchar{black}{a}{black}{b}}
\DeclareTextCommand\cfss@WhiteKnightOnWhite{LSB1}{\cfss@composefpcolorchar{white}{}{white}{N}}
\DeclareTextCommand\cfss@BlackKnightOnWhite{LSB1}{\cfss@composefpcolorchar{white}{}{black}{n}}
\DeclareTextCommand\cfss@WhiteKnightOnBlack{LSB1}{\cfss@composefpcolorchar{black}{M}{white}{N}}
\DeclareTextCommand\cfss@BlackKnightOnBlack{LSB1}{\cfss@composefpcolorchar{black}{m}{black}{n}}
\DeclareTextCommand\cfss@WhitePawnOnWhite  {LSB1}{\cfss@composefpcolorchar{white}{}{white}{P}}
\DeclareTextCommand\cfss@BlackPawnOnWhite  {LSB1}{\cfss@composefpcolorchar{white}{}{black}{p}}
\DeclareTextCommand\cfss@WhitePawnOnBlack  {LSB1}{\cfss@composefpcolorchar{black}{O}{white}{P}}
\DeclareTextCommand\cfss@BlackPawnOnBlack  {LSB1}{\cfss@composefpcolorchar{black}{o}{black}{p}}
%</lsb1enc>
%<*lsb2enc>
%%
%% LSB2: An encoding for chessboard chars
%% that makes it possible to color field and the piece differently.
%% In this encoding the pieces/fields are build only with the pieceOnWhite characters.
%% Black fields must get their color through commands like \colorbox.
%% The color of the background will shine through the inner of the pieces
%% The solid fieldmask layer, the field layer and the piecemask layer are not used.
%% The encoding works with fonts that have the pieceOnWhite chars. (This should be all fonts)
%% It will not give a professional looking result because of the colored inside of the chars!

\ProvidesFile{lsb2enc.def}
 [2006/06/09 v1.1
         Standard LaTeX file]

\DeclareFontEncoding{LSB2}{}{}
\DeclareFontSubstitution{LSB2}{skaknew}{m}{n}

\providecommand\cfss@whitepiececolor{}
\providecommand\cfss@blackpiececolor{}

\providecommand\cfss@composepcolorchar[2]{%range layer: p
  {\csname cfss@#1piececolor\endcsname#2}}%

\@namedef{cfss@showboardencodingLSB2}{%
\begin{tabular}{llllll}
\multicolumn{6}{l}{\bfseries Encoding \ttfamily LSB2}\\
\multicolumn{6}{l}{fields have no color!}\\[0.5ex]
 Layer:       & fieldmask
              & field
              & piecemask
              & piece
              & result\\
 WhiteSquare  &
              &
              &
              &
              &\boardfont\cfss@WhiteEmptySquare\\
 BlackSquare  &
              &
              &
              &
              &\boardfont\cfss@BlackEmptySquare\\
 WhiteOnWhite &
              &
              &
              &\boardfont\cfss@whitepiececolor K
              &\boardfont\cfss@WhiteKingOnWhite\\
 WhiteOnBlack &
              &
              &
              &\boardfont\cfss@whitepiececolor K
              &\boardfont\cfss@WhiteKingOnBlack\\
 BlackOnWhite &
              &
              &
              &\boardfont\cfss@blackpiececolor k
              &\boardfont\cfss@BlackKingOnWhite\\
 BlackOnBlack &
              &
              &
              &\boardfont\cfss@blackpiececolor k
              &\boardfont\cfss@BlackKingOnBlack\\
\end{tabular}}



\DeclareTextCommand\cfss@WhiteEmptySquare  {LSB2}{\phantom{Z}}
\DeclareTextCommand\cfss@BlackEmptySquare  {LSB2}{\phantom{Z}}
\DeclareTextCommand\cfss@WhiteKingOnWhite  {LSB2}{\cfss@composepcolorchar{white}{K}}
\DeclareTextCommand\cfss@BlackKingOnWhite  {LSB2}{\cfss@composepcolorchar{black}{k}}
\DeclareTextCommand\cfss@WhiteKingOnBlack  {LSB2}{\cfss@composepcolorchar{white}{K}}
\DeclareTextCommand\cfss@BlackKingOnBlack  {LSB2}{\cfss@composepcolorchar{black}{k}}
\DeclareTextCommand\cfss@WhiteQueenOnWhite {LSB2}{\cfss@composepcolorchar{white}{Q}}
\DeclareTextCommand\cfss@BlackQueenOnWhite {LSB2}{\cfss@composepcolorchar{black}{q}}
\DeclareTextCommand\cfss@WhiteQueenOnBlack {LSB2}{\cfss@composepcolorchar{white}{Q}}
\DeclareTextCommand\cfss@BlackQueenOnBlack {LSB2}{\cfss@composepcolorchar{black}{q}}
\DeclareTextCommand\cfss@WhiteRookOnWhite  {LSB2}{\cfss@composepcolorchar{white}{R}}
\DeclareTextCommand\cfss@BlackRookOnWhite  {LSB2}{\cfss@composepcolorchar{black}{r}}
\DeclareTextCommand\cfss@WhiteRookOnBlack  {LSB2}{\cfss@composepcolorchar{white}{R}}
\DeclareTextCommand\cfss@BlackRookOnBlack  {LSB2}{\cfss@composepcolorchar{black}{r}}
\DeclareTextCommand\cfss@WhiteBishopOnWhite{LSB2}{\cfss@composepcolorchar{white}{B}}
\DeclareTextCommand\cfss@BlackBishopOnWhite{LSB2}{\cfss@composepcolorchar{black}{b}}
\DeclareTextCommand\cfss@WhiteBishopOnBlack{LSB2}{\cfss@composepcolorchar{white}{B}}
\DeclareTextCommand\cfss@BlackBishopOnBlack{LSB2}{\cfss@composepcolorchar{black}{b}}
\DeclareTextCommand\cfss@WhiteKnightOnWhite{LSB2}{\cfss@composepcolorchar{white}{N}}
\DeclareTextCommand\cfss@BlackKnightOnWhite{LSB2}{\cfss@composepcolorchar{black}{n}}
\DeclareTextCommand\cfss@WhiteKnightOnBlack{LSB2}{\cfss@composepcolorchar{white}{N}}
\DeclareTextCommand\cfss@BlackKnightOnBlack{LSB2}{\cfss@composepcolorchar{black}{n}}
\DeclareTextCommand\cfss@WhitePawnOnWhite  {LSB2}{\cfss@composepcolorchar{white}{P}}
\DeclareTextCommand\cfss@BlackPawnOnWhite  {LSB2}{\cfss@composepcolorchar{black}{p}}
\DeclareTextCommand\cfss@WhitePawnOnBlack  {LSB2}{\cfss@composepcolorchar{white}{P}}
\DeclareTextCommand\cfss@BlackPawnOnBlack  {LSB2}{\cfss@composepcolorchar{black}{p}}
%</lsb2enc>
%<*lsb3enc>
%%
%% LSB3: An encoding for chessboard chars.
%% that makes it possible to color field and the piece differently.
%% In this encoding the pieces/fields are build only with the BlackpieceOnWhite characters.
%% Black fields must get their color through commands like \colorbox.
%% Black and white pieces must be colored differently!
%% The color of the background will shine through the inner of the pieces, but not
%% so much, as black pieces are more solid.
%% The solid fieldmask layer, the field layer and the piecemask layer are not used.
%% The encoding works with fonts that have the pieceOnWhite chars. (This should be all fonts)

\ProvidesFile{lsb3enc.def}
 [2006/06/09 v1.1
         Standard LaTeX file]

\DeclareFontEncoding{LSB3}{}{}
\DeclareFontSubstitution{LSB3}{skaknew}{m}{n}

\providecommand\cfss@whitepiececolor{}
\providecommand\cfss@blackpiececolor{}

\providecommand\cfss@composepcolorchar[2]{%range layer: p
  {\csname cfss@#1piececolor\endcsname#2}}%

\@namedef{cfss@showboardencodingLSB3}{%
\begin{tabular}{llllll}
\multicolumn{6}{l}{\bfseries Encoding \ttfamily LSB3}\\
\multicolumn{6}{l}{fields have no char or color!}\\
\multicolumn{6}{l}{White and black pieces use the same char!}\\[0.5ex]
 Layer:       & fieldmask
              & field
              & piecemask
              & piece
              & result\\
 WhiteSquare  &
              &
              &
              &
              &\boardfont\cfss@WhiteEmptySquare\\
 BlackSquare  &
              &
              &
              &
              &\boardfont\cfss@BlackEmptySquare\\
 WhiteOnWhite &
              &
              &
              &\boardfont\cfss@whitepiececolor k
              &\boardfont\cfss@WhiteKingOnWhite\\
 WhiteOnBlack &
              &
              &
              &\boardfont\cfss@whitepiececolor k
              &\boardfont\cfss@WhiteKingOnBlack\\
 BlackOnWhite &
              &
              &
              &\boardfont\cfss@blackpiececolor k
              &\boardfont\cfss@BlackKingOnWhite\\
 BlackOnBlack &
              &
              &
              &\boardfont\cfss@blackpiececolor k
              &\boardfont\cfss@BlackKingOnBlack\\
\end{tabular}}



\DeclareTextCommand\cfss@WhiteEmptySquare  {LSB3}{\phantom{Z}}
\DeclareTextCommand\cfss@BlackEmptySquare  {LSB3}{\phantom{Z}}
\DeclareTextCommand\cfss@WhiteKingOnWhite  {LSB3}{\cfss@composepcolorchar{white}{k}}
\DeclareTextCommand\cfss@BlackKingOnWhite  {LSB3}{\cfss@composepcolorchar{black}{k}}
\DeclareTextCommand\cfss@WhiteKingOnBlack  {LSB3}{\cfss@composepcolorchar{white}{k}}
\DeclareTextCommand\cfss@BlackKingOnBlack  {LSB3}{\cfss@composepcolorchar{black}{k}}
\DeclareTextCommand\cfss@WhiteQueenOnWhite {LSB3}{\cfss@composepcolorchar{white}{q}}
\DeclareTextCommand\cfss@BlackQueenOnWhite {LSB3}{\cfss@composepcolorchar{black}{q}}
\DeclareTextCommand\cfss@WhiteQueenOnBlack {LSB3}{\cfss@composepcolorchar{white}{q}}
\DeclareTextCommand\cfss@BlackQueenOnBlack {LSB3}{\cfss@composepcolorchar{black}{q}}
\DeclareTextCommand\cfss@WhiteRookOnWhite  {LSB3}{\cfss@composepcolorchar{white}{r}}
\DeclareTextCommand\cfss@BlackRookOnWhite  {LSB3}{\cfss@composepcolorchar{black}{r}}
\DeclareTextCommand\cfss@WhiteRookOnBlack  {LSB3}{\cfss@composepcolorchar{white}{r}}
\DeclareTextCommand\cfss@BlackRookOnBlack  {LSB3}{\cfss@composepcolorchar{black}{r}}
\DeclareTextCommand\cfss@WhiteBishopOnWhite{LSB3}{\cfss@composepcolorchar{white}{b}}
\DeclareTextCommand\cfss@BlackBishopOnWhite{LSB3}{\cfss@composepcolorchar{black}{b}}
\DeclareTextCommand\cfss@WhiteBishopOnBlack{LSB3}{\cfss@composepcolorchar{white}{b}}
\DeclareTextCommand\cfss@BlackBishopOnBlack{LSB3}{\cfss@composepcolorchar{black}{b}}
\DeclareTextCommand\cfss@WhiteKnightOnWhite{LSB3}{\cfss@composepcolorchar{white}{n}}
\DeclareTextCommand\cfss@BlackKnightOnWhite{LSB3}{\cfss@composepcolorchar{black}{n}}
\DeclareTextCommand\cfss@WhiteKnightOnBlack{LSB3}{\cfss@composepcolorchar{white}{n}}
\DeclareTextCommand\cfss@BlackKnightOnBlack{LSB3}{\cfss@composepcolorchar{black}{n}}
\DeclareTextCommand\cfss@WhitePawnOnWhite  {LSB3}{\cfss@composepcolorchar{white}{p}}
\DeclareTextCommand\cfss@BlackPawnOnWhite  {LSB3}{\cfss@composepcolorchar{black}{p}}
\DeclareTextCommand\cfss@WhitePawnOnBlack  {LSB3}{\cfss@composepcolorchar{white}{p}}
\DeclareTextCommand\cfss@BlackPawnOnBlack  {LSB3}{\cfss@composepcolorchar{black}{p}}
%</lsb3enc>
%<*lsbc1enc>
%%
%% LSBC1: An encoding for chessboard chars.
%% that makes it possible to color field and the piece differently.
%% In this encoding the pieces/fields are build with a transparent fieldmask,
%% the piecemask and the pieceOnWhite.
%% If a color package is loaded, the piecemask will be white.
%% The solid fieldmask layer is not used.
%% The encoding works with fonts that have transparent fieldmask on position 149-154
%% piecemask (T-Y) and the pieceOnWhite chars.
%% A possible free font is skaknew.
%% DiaTTFri.ttf (from fritz) also has the necessary characters but must be converted
%% reencoded first.

\ProvidesFile{lsbc1enc.def}
 [2006/05/22 v1.0
         Standard LaTeX file]
\DeclareFontEncoding{LSBC1}{}{}
\DeclareFontSubstitution{LSBC1}{skaknew}{m}{n}

\AtBeginDocument{%
  \@ifundefined{color}
   {\def\color#1{}%
    \PackageWarning{chessfss}
     {You haven't load a color package.
      I will define the color command to do nothing}{}}
   {}}

\providecommand\cfss@whitefieldcolor{}
\providecommand\cfss@blackfieldcolor{}
\providecommand\cfss@whiteonwhitepiecemaskcolor{\color{white}}
\providecommand\cfss@whiteonblackpiecemaskcolor{\color{white}}
\providecommand\cfss@blackonwhitepiecemaskcolor{\color{white}}
\providecommand\cfss@blackonblackpiecemaskcolor{\color{white}}
\providecommand\cfss@whitepiececolor{}
\providecommand\cfss@blackpiececolor{}

\providecommand\cfss@composefpmpcolorchar[6]{%range layer. f, pm, p
  \makebox[0pt][l]{% fieldlayer
    \csname cfss@#1fieldcolor\endcsname#2}%
  \makebox[0pt][l]{% piecemasklayer
    \csname cfss@#3piecemaskcolor\endcsname#4}%
  {\csname cfss@#5piececolor\endcsname#6}}% piecelayer

\@namedef{cfss@showboardencodingLSBC1}{%
\begin{tabular}{llllll}
\multicolumn{6}{l}{\bfseries Encoding \ttfamily LSBC1}\\[0.5ex]
 Layer:       &fieldmask
              &field
              &piecemask
              &piece
              &result\\
 WhiteSquare  &
              &\boardfont\cfss@whitefieldcolor 0
              &
              &
              &\boardfont\cfss@WhiteEmptySquare\\
 BlackSquare  &
              &\boardfont\cfss@blackfieldcolor Z
              &
              &
              &\boardfont\cfss@BlackEmptySquare\\
 WhiteOnWhite &
              &
              &\boardfont\cfss@whiteonwhitepiecemaskcolor T
              &\boardfont\cfss@whitepiececolor K
              &\boardfont\cfss@WhiteKingOnWhite\\
 WhiteOnBlack &
              &\boardfont\cfss@blackfieldcolor\symbol{149}
              &\boardfont\cfss@whiteonblackpiecemaskcolor T
              &\boardfont\cfss@whitepiececolor K
              &\boardfont\cfss@WhiteKingOnBlack\\
 BlackOnWhite &
              &
              &\boardfont\cfss@blackonwhitepiecemaskcolor T
              &\boardfont\cfss@blackpiececolor k
              &\boardfont\cfss@BlackKingOnWhite\\
 BlackOnBlack &
              &\boardfont\cfss@blackfieldcolor\symbol{149}
              &\boardfont\cfss@blackonblackpiecemaskcolor T
              &\boardfont\cfss@blackpiececolor k
              &\boardfont\cfss@BlackKingOnBlack\\
\end{tabular}}


\DeclareTextCommand\cfss@WhiteEmptySquare {LSBC1}{{\cfss@whitefieldcolor 0}}
\DeclareTextCommand\cfss@BlackEmptySquare {LSBC1}{{\cfss@blackfieldcolor Z}}
\DeclareTextCommand\cfss@WhiteKingOnWhite {LSBC1}
    {\cfss@composefpmpcolorchar
      {}{}
      {whiteonwhite}{T}
      {white}{K}}
\DeclareTextCommand\cfss@BlackKingOnWhite  {LSBC1}
   {\cfss@composefpmpcolorchar
      {}{}
      {blackonwhite}{T}
      {black}{k}}
\DeclareTextCommand\cfss@WhiteKingOnBlack  {LSBC1}
   {\cfss@composefpmpcolorchar
      {black}{\symbol{149}}
      {whiteonblack}{T}
      {white}{K}}
\DeclareTextCommand\cfss@BlackKingOnBlack  {LSBC1}
   {\cfss@composefpmpcolorchar
      {black}{\symbol{149}}
      {blackonblack}{T}
      {black}{k}}

\DeclareTextCommand\cfss@WhiteQueenOnWhite {LSBC1}
    {\cfss@composefpmpcolorchar
      {}{}
      {whiteonwhite}{X}
      {white}{Q}}
\DeclareTextCommand\cfss@BlackQueenOnWhite {LSBC1}
   {\cfss@composefpmpcolorchar
      {}{}
      {blackonwhite}{X}
      {black}{q}}
\DeclareTextCommand\cfss@WhiteQueenOnBlack {LSBC1}
   {\cfss@composefpmpcolorchar
      {black}{\symbol{153}}
      {whiteonblack}{X}
      {white}{Q}}
\DeclareTextCommand\cfss@BlackQueenOnBlack {LSBC1}
   {\cfss@composefpmpcolorchar
      {black}{\symbol{153}}
      {blackonblack}{X}
      {black}{q}}

\DeclareTextCommand\cfss@WhiteRookOnWhite {LSBC1}
    {\cfss@composefpmpcolorchar
      {}{}
      {whiteonwhite}{V}
      {white}{R}}
\DeclareTextCommand\cfss@BlackRookOnWhite {LSBC1}
   {\cfss@composefpmpcolorchar
      {}{}
      {blackonwhite}{V}
      {black}{r}}
\DeclareTextCommand\cfss@WhiteRookOnBlack {LSBC1}
   {\cfss@composefpmpcolorchar
      {black}{\symbol{151}}
      {whiteonblack}{V}
      {white}{R}}
\DeclareTextCommand\cfss@BlackRookOnBlack  {LSBC1}
   {\cfss@composefpmpcolorchar
      {black}{\symbol{151}}
      {blackonblack}{V}
      {black}{r}}

\DeclareTextCommand\cfss@WhiteBishopOnWhite {LSBC1}
    {\cfss@composefpmpcolorchar
      {}{}
      {whiteonwhite}{W}
      {white}{B}}
\DeclareTextCommand\cfss@BlackBishopOnWhite {LSBC1}
   {\cfss@composefpmpcolorchar
      {}{}
      {blackonwhite}{W}
      {black}{b}}
\DeclareTextCommand\cfss@WhiteBishopOnBlack {LSBC1}
   {\cfss@composefpmpcolorchar
      {black}{\symbol{152}}
      {whiteonblack}{W}
      {white}{B}}
\DeclareTextCommand\cfss@BlackBishopOnBlack {LSBC1}
   {\cfss@composefpmpcolorchar
      {black}{\symbol{152}}
      {blackonblack}{W}
      {black}{b}}

\DeclareTextCommand\cfss@WhiteKnightOnWhite {LSBC1}
    {\cfss@composefpmpcolorchar
      {}{}
      {whiteonwhite}{U}
      {white}{N}}
\DeclareTextCommand\cfss@BlackKnightOnWhite {LSBC1}
   {\cfss@composefpmpcolorchar
      {}{}
      {blackonwhite}{U}
      {black}{n}}
\DeclareTextCommand\cfss@WhiteKnightOnBlack {LSBC1}
   {\cfss@composefpmpcolorchar
      {black}{\symbol{150}}
      {whiteonblack}{U}
      {white}{N}}
\DeclareTextCommand\cfss@BlackKnightOnBlack {LSBC1}
   {\cfss@composefpmpcolorchar
      {black}{\symbol{150}}
      {blackonblack}{U}
      {black}{n}}

\DeclareTextCommand\cfss@WhitePawnOnWhite {LSBC1}
    {\cfss@composefpmpcolorchar
      {}{}
      {whiteonwhite}{Y}
      {white}{P}}
\DeclareTextCommand\cfss@BlackPawnOnWhite {LSBC1}
   {\cfss@composefpmpcolorchar
      {}{}
      {blackonwhite}{Y}
      {black}{p}}
\DeclareTextCommand\cfss@WhitePawnOnBlack {LSBC1}
   {\cfss@composefpmpcolorchar
      {black}{\symbol{154}}
      {whiteonblack}{Y}
      {white}{P}}
\DeclareTextCommand\cfss@BlackPawnOnBlack {LSBC1}
   {\cfss@composefpmpcolorchar
      {black}{\symbol{154}}
      {blackonblack}{Y}
      {black}{p}}
%</lsbc1enc>
%<*lsbc2enc>
%%
%% LSBC2: An encoding for chessboard chars.
%% that makes it possible to color field and the piece differently.
%% In this encoding the pieces/fields are build with a solid fieldmask,
%% a transparent fieldmask and pieceOnWhite chars.
%% If a color package is loaded, the piecemask will be white.
%% The piecemask layer is not used.
%% The encoding works with fonts that have solid fieldmask on position 49-54,
%% transparent fieldmask on position 149-154 and the pieceOnWhite chars.
%% A possible free font is skaknew. (To my knowledge it is the only one with all chars)


\ProvidesFile{lsbc2enc.def}
 [2006/05/22 v1.0
         Standard LaTeX file]
\DeclareFontEncoding{LSBC2}{}{}
\DeclareFontSubstitution{LSBC2}{skaknew}{m}{n}

\AtBeginDocument{\@ifundefined{color}{%
  \def\color#1{}%
  \PackageWarning{chessfss}
   {You haven't load a color package. I will define the color command to do nothing}{}}{}}

\providecommand\cfss@whitefieldmaskcolor{\color{white}}
\providecommand\cfss@blackfieldmaskcolor{\color{gray}}
\providecommand\cfss@whitefieldcolor{}
\providecommand\cfss@blackfieldcolor{}
\providecommand\cfss@whitepiececolor{}
\providecommand\cfss@blackpiececolor{}

\providecommand\cfss@composefmfpcolorchar[6]{%range layer. fm, f, p
  \makebox[0pt][l]{%
    \csname cfss@#1fieldmaskcolor\endcsname#2}%
  \makebox[0pt][l]{%
    \csname cfss@#3fieldcolor\endcsname#4}%
  {\csname cfss@#5piececolor\endcsname#6}}%

\@namedef{cfss@showboardencodingLSBC2}{%
\begin{tabular}{llllll}
\multicolumn{6}{l}{\bfseries Encoding \ttfamily LSBC2}\\[0.5ex]
 Layer:       & fieldmask
              &  field
              & piecemask
              &  piece
              &result\\
 WhiteSquare  &\boardfont\cfss@whitefieldmaskcolor z
              &
              &
              &
              &\boardfont\cfss@WhiteEmptySquare\\
 BlackSquare  &\boardfont\cfss@blackfieldmaskcolor z
              &\boardfont\cfss@blackfieldcolor Z
              &
              &
              &\boardfont\cfss@BlackEmptySquare\\
 WhiteOnWhite &\boardfont\cfss@whitefieldmaskcolor 1
              &\boardfont
              &
              &\boardfont\cfss@whitepiececolor K
              &\boardfont\cfss@WhiteKingOnWhite\\
 WhiteOnBlack &\boardfont\cfss@blackfieldmaskcolor 1
              &\boardfont\cfss@blackfieldcolor\symbol{149}
              &
              &\boardfont\cfss@whitepiececolor K
              &\boardfont\cfss@WhiteKingOnBlack\\
 BlackOnWhite &\boardfont\cfss@whitefieldmaskcolor 1
              &\boardfont
              &
              &\boardfont\cfss@blackpiececolor k
              &\boardfont\cfss@BlackKingOnWhite\\
 BlackOnBlack &\boardfont\cfss@blackfieldmaskcolor 1
              &\boardfont\cfss@blackfieldcolor\symbol{149}
              &
              &\boardfont\cfss@blackpiececolor k
              &\boardfont\cfss@BlackKingOnBlack\\
\end{tabular}}


\DeclareTextCommand\cfss@WhiteEmptySquare {LSBC2}{{\cfss@whitefieldmaskcolor z}}

\DeclareTextCommand\cfss@BlackEmptySquare {LSBC2}
  {{\makebox[0pt][l]{\cfss@blackfieldmaskcolor z}}{\cfss@blackfieldcolor Z}}

\DeclareTextCommand\cfss@WhiteKingOnWhite {LSBC2}
    {\cfss@composefmfpcolorchar
      {white}{1}
      {}{}
      {white}{K}}
\DeclareTextCommand\cfss@BlackKingOnWhite {LSBC2}
   {\cfss@composefmfpcolorchar
      {white}{1}
      {}{}
      {black}{k}}
\DeclareTextCommand\cfss@WhiteKingOnBlack {LSBC2}
   {\cfss@composefmfpcolorchar
      {black}{1}
      {black}{\symbol{149}}
      {white}{K}}
\DeclareTextCommand\cfss@BlackKingOnBlack {LSBC2}
   {\cfss@composefmfpcolorchar
      {black}{1}
      {black}{\symbol{149}}
      {black}{k}}

\DeclareTextCommand\cfss@WhiteQueenOnWhite {LSBC2}
    {\cfss@composefmfpcolorchar
      {white}{5}
      {}{}
      {white}{Q}}
\DeclareTextCommand\cfss@BlackQueenOnWhite {LSBC2}
   {\cfss@composefmfpcolorchar
      {white}{5}
      {}{}
      {black}{q}}
\DeclareTextCommand\cfss@WhiteQueenOnBlack {LSBC2}
   {\cfss@composefmfpcolorchar
      {black}{5}
      {black}{\symbol{153}}
      {white}{Q}}
\DeclareTextCommand\cfss@BlackQueenOnBlack {LSBC2}
   {\cfss@composefmfpcolorchar
      {black}{5}
      {black}{\symbol{153}}
      {black}{q}}


\DeclareTextCommand\cfss@WhiteRookOnWhite {LSBC2}
    {\cfss@composefmfpcolorchar
      {white}{3}
      {}{}
      {white}{R}}
\DeclareTextCommand\cfss@BlackRookOnWhite {LSBC2}
   {\cfss@composefmfpcolorchar
      {white}{3}
      {}{}
      {black}{r}}
\DeclareTextCommand\cfss@WhiteRookOnBlack {LSBC2}
   {\cfss@composefmfpcolorchar
      {black}{3}
      {black}{\symbol{151}}
      {white}{R}}
\DeclareTextCommand\cfss@BlackRookOnBlack {LSBC2}
   {\cfss@composefmfpcolorchar
      {black}{3}
      {black}{\symbol{151}}
      {black}{r}}

\DeclareTextCommand\cfss@WhiteBishopOnWhite {LSBC2}
    {\cfss@composefmfpcolorchar
      {white}{4}
      {}{}
      {white}{B}}
\DeclareTextCommand\cfss@BlackBishopOnWhite {LSBC2}
   {\cfss@composefmfpcolorchar
      {white}{4}
      {}{}
      {black}{b}}
\DeclareTextCommand\cfss@WhiteBishopOnBlack {LSBC2}
   {\cfss@composefmfpcolorchar
      {black}{4}
      {black}{\symbol{152}}
      {white}{B}}
\DeclareTextCommand\cfss@BlackBishopOnBlack {LSBC2}
   {\cfss@composefmfpcolorchar
      {black}{4}
      {black}{\symbol{152}}
      {black}{b}}

\DeclareTextCommand\cfss@WhiteKnightOnWhite {LSBC2}
    {\cfss@composefmfpcolorchar
      {white}{2}
      {}{}
      {white}{N}}
\DeclareTextCommand\cfss@BlackKnightOnWhite {LSBC2}
   {\cfss@composefmfpcolorchar
      {white}{2}
      {}{}
      {black}{n}}
\DeclareTextCommand\cfss@WhiteKnightOnBlack {LSBC2}
   {\cfss@composefmfpcolorchar
      {black}{2}
      {black}{\symbol{150}}
      {white}{N}}
\DeclareTextCommand\cfss@BlackKnightOnBlack {LSBC2}
   {\cfss@composefmfpcolorchar
      {black}{2}
      {black}{\symbol{150}}
      {black}{n}}

\DeclareTextCommand\cfss@WhitePawnOnWhite {LSBC2}
    {\cfss@composefmfpcolorchar
      {white}{6}
      {}{}
      {white}{P}}
\DeclareTextCommand\cfss@BlackPawnOnWhite {LSBC2}
   {\cfss@composefmfpcolorchar
      {white}{6}
      {}{}
      {black}{p}}
\DeclareTextCommand\cfss@WhitePawnOnBlack {LSBC2}
   {\cfss@composefmfpcolorchar
      {black}{6}
      {black}{\symbol{154}}
      {white}{P}}
\DeclareTextCommand\cfss@BlackPawnOnBlack {LSBC2}
   {\cfss@composefmfpcolorchar
      {black}{6}
      {black}{\symbol{154}}
      {black}{p}}
%</lsbc2enc>
%<*lsbc3enc>
%%
%% LSBC3: An encoding for chessboard chars.
%% that makes it possible to color field and the piece differently.
%% In this encoding the pieces/fields are build with a solid fieldmask,
%% a transparent fieldmask, a piecemask and pieceOnWhite chars.
%% If a color package is loaded, the piecemask will be white.
%% The encoding works with fonts that have solid fieldmasks on position 49-54,
%% transparent fieldmasks on position 149-154, piecemask on T-Y and the pieceOnWhite chars.
%% A possible free font is skaknew. (To my knowledge it is the only one with all chars)

\ProvidesFile{lsbc3enc.def}
 [2006/05/22 v1.0
         Standard LaTeX file]
\DeclareFontEncoding{LSBC3}{}{}
\DeclareFontSubstitution{LSBC3}{skaknew}{m}{n}

\AtBeginDocument{\@ifundefined{color}{%
  \def\color#1{}%
  \PackageWarning{chessfss}
   {You haven't load a color package. I will define the color command to do nothing}{}}{}}

\providecommand\cfss@whitefieldmaskcolor{\color{white}}
\providecommand\cfss@blackfieldmaskcolor{\color{gray}}
\providecommand\cfss@whitefieldcolor{}
\providecommand\cfss@blackfieldcolor{}
\providecommand\cfss@whiteonwhitepiecemaskcolor{\color{white}}
\providecommand\cfss@whiteonblackpiecemaskcolor{\color{white}}
\providecommand\cfss@blackonwhitepiecemaskcolor{\color{white}}
\providecommand\cfss@blackonblackpiecemaskcolor{\color{white}}
\providecommand\cfss@whitepiececolor{}
\providecommand\cfss@blackpiececolor{}

\providecommand\cfss@composefmfpmpcolorchar[8]{%range layer. fm, f, pm, p
  \makebox[0pt][l]{%
    \csname cfss@#1fieldmaskcolor\endcsname#2}%
  \makebox[0pt][l]{%
    \csname cfss@#3fieldcolor\endcsname#4}%
  \makebox[0pt][l]{%
    \csname cfss@#5piecemaskcolor\endcsname#6}%
  {\csname cfss@#7piececolor\endcsname#8}}%

\@namedef{cfss@showboardencodingLSBC3}{%
\begin{tabular}{llllll}
\multicolumn{6}{l}{\bfseries Encoding \ttfamily LSBC3}\\[0.5ex]
 Layer:       & fieldmask
              & field
              & piecemask
              & piece
              & result\\
 WhiteSquare  &\boardfont\cfss@whitefieldmaskcolor z
              &
              &
              &
              &\boardfont\cfss@WhiteEmptySquare\\
 BlackSquare  &\boardfont\cfss@blackfieldmaskcolor z
              &\boardfont\cfss@blackfieldcolor Z
              &
              &
              &\boardfont\cfss@BlackEmptySquare\\
 WhiteOnWhite &\boardfont\cfss@whitefieldmaskcolor 1
              &
              &\boardfont\cfss@whiteonwhitepiecemaskcolor T
              &\boardfont\cfss@whitepiececolor K
              &\boardfont\cfss@WhiteKingOnWhite\\
 WhiteOnBlack &\boardfont\cfss@blackfieldmaskcolor 1
              &\boardfont\cfss@blackfieldcolor\symbol{149}
              &\boardfont\cfss@whiteonblackpiecemaskcolor T
              &\boardfont\cfss@whitepiececolor K
              &\boardfont\cfss@WhiteKingOnBlack\\
 BlackOnWhite &\boardfont\cfss@whitefieldmaskcolor 1
              &
              &\boardfont\cfss@blackonwhitepiecemaskcolor T
              &\boardfont\cfss@blackpiececolor k
              &\boardfont\cfss@BlackKingOnWhite\\
 BlackOnBlack &\boardfont\cfss@blackfieldmaskcolor 1
              &\boardfont\cfss@blackfieldcolor\symbol{149}
              &\boardfont\cfss@blackonblackpiecemaskcolor T
              &\boardfont\cfss@blackpiececolor k
              &\boardfont\cfss@BlackKingOnBlack\\
\end{tabular}}


\DeclareTextCommand\cfss@WhiteEmptySquare {LSBC3}{{\cfss@whitefieldmaskcolor z}}
\DeclareTextCommand\cfss@BlackEmptySquare {LSBC3}%
  {{\makebox[0pt][l]{\cfss@blackfieldmaskcolor z}}{\cfss@blackfieldcolor Z}}
\DeclareTextCommand\cfss@WhiteKingOnWhite {LSBC3}%
    {\cfss@composefmfpmpcolorchar
      {white}{1}
      {}{}
      {whiteonwhite}{T}
      {white}{K}}
\DeclareTextCommand\cfss@BlackKingOnWhite {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {white}{1}
      {}{}
      {blackonwhite}{T}
      {black}{k}}
\DeclareTextCommand\cfss@WhiteKingOnBlack {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {black}{1}
      {black}{\symbol{149}}
      {whiteonblack}{T}
      {white}{K}}
\DeclareTextCommand\cfss@BlackKingOnBlack {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {black}{1}
      {black}{\symbol{149}}
      {blackonblack}{T}
      {black}{k}}

\DeclareTextCommand\cfss@WhiteQueenOnWhite {LSBC3}%
    {\cfss@composefmfpmpcolorchar
      {white}{5}
      {}{}
      {whiteonwhite}{X}
      {white}{Q}}
\DeclareTextCommand\cfss@BlackQueenOnWhite {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {white}{5}
      {}{}
      {blackonwhite}{X}
      {black}{q}}
\DeclareTextCommand\cfss@WhiteQueenOnBlack {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {black}{5}
      {black}{\symbol{153}}
      {whiteonblack}{X}
      {white}{Q}}
\DeclareTextCommand\cfss@BlackQueenOnBlack {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {black}{5}
      {black}{\symbol{153}}
      {blackonblack}{X}
      {black}{q}}


\DeclareTextCommand\cfss@WhiteRookOnWhite {LSBC3}%
    {\cfss@composefmfpmpcolorchar
      {white}{3}
      {}{}
      {whiteonwhite}{V}
      {white}{R}}
\DeclareTextCommand\cfss@BlackRookOnWhite {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {white}{3}
      {}{}
      {blackonwhite}{V}
      {black}{r}}
\DeclareTextCommand\cfss@WhiteRookOnBlack {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {black}{3}
      {black}{\symbol{151}}
      {whiteonblack}{V}
      {white}{R}}
\DeclareTextCommand\cfss@BlackRookOnBlack {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {black}{3}
      {black}{\symbol{151}}
      {blackonblack}{V}
      {black}{r}}

\DeclareTextCommand\cfss@WhiteBishopOnWhite {LSBC3}
    {\cfss@composefmfpmpcolorchar
      {white}{4}
      {}{}
      {whiteonwhite}{W}
      {white}{B}}
\DeclareTextCommand\cfss@BlackBishopOnWhite {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {white}{4}
      {}{}
      {blackonwhite}{W}
      {black}{b}}
\DeclareTextCommand\cfss@WhiteBishopOnBlack {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {black}{4}
      {black}{\symbol{152}}
      {whiteonblack}{W}
      {white}{B}}
\DeclareTextCommand\cfss@BlackBishopOnBlack {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {black}{4}
      {black}{\symbol{152}}
      {blackonblack}{W}
      {black}{b}}

\DeclareTextCommand\cfss@WhiteKnightOnWhite {LSBC3}
    {\cfss@composefmfpmpcolorchar
      {white}{2}
      {}{}
      {whiteonwhite}{U}
      {white}{N}}
\DeclareTextCommand\cfss@BlackKnightOnWhite {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {white}{2}
      {}{}
      {blackonwhite}{U}
      {black}{n}}
\DeclareTextCommand\cfss@WhiteKnightOnBlack {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {black}{2}
      {black}{\symbol{150}}
      {whiteonblack}{U}
      {white}{N}}
\DeclareTextCommand\cfss@BlackKnightOnBlack {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {black}{2}
      {black}{\symbol{150}}
      {blackonblack}{U}
      {black}{n}}

\DeclareTextCommand\cfss@WhitePawnOnWhite {LSBC3}
    {\cfss@composefmfpmpcolorchar
      {white}{6}
      {}{}
      {whiteonwhite}{Y}
      {white}{P}}
\DeclareTextCommand\cfss@BlackPawnOnWhite {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {white}{6}
      {}{}
      {blackonwhite}{Y}
      {black}{p}}
\DeclareTextCommand\cfss@WhitePawnOnBlack {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {black}{6}
      {black}{\symbol{154}}
      {whiteonblack}{Y}
      {white}{P}}
\DeclareTextCommand\cfss@BlackPawnOnBlack {LSBC3}
   {\cfss@composefmfpmpcolorchar
      {black}{6}
      {black}{\symbol{154}}
      {blackonblack}{Y}
      {black}{p}}
%</lsbc3enc>
%<*lsbc4enc>
%%
%% LSBC4: An encoding for chessboard chars.
%% that makes it possible to color field and the piece differently.
%% In this encoding the pieces/fields are build with a solid fieldmask
%% and pieceOnWhite chars.
%% If a color package is loaded, the fieldmask will be white or gray.
%% The encoding works with fonts that have solid fieldmasks on position 49-54
%% and the pieceOnWhite chars.
%% Possible free font are skaknew and lucena.

\ProvidesFile{lsbc4enc.def}
 [2006/05/22 v1.0
         Standard LaTeX file]
\DeclareFontEncoding{LSBC4}{}{}
\DeclareFontSubstitution{LSBC4}{skaknew}{m}{n}

\AtBeginDocument{\@ifundefined{color}{%
  \def\color#1{}%
  \PackageWarning{chessfss}
   {You haven't load a color package. I will define the color command to do nothing}{}}{}}

\providecommand\cfss@whitefieldmaskcolor{\color{white}}
\providecommand\cfss@blackfieldmaskcolor{\color{gray}}
\providecommand\cfss@whitepiececolor{}
\providecommand\cfss@blackpiececolor{}

\providecommand\cfss@composefmpcolorchar[4]{%range layer. fm, p
  \makebox[0pt][l]{%
    \csname cfss@#1fieldmaskcolor\endcsname#2}%
  {\csname cfss@#3piececolor\endcsname#4}}%

\@namedef{cfss@showboardencodingLSBC4}{%
\begin{tabular}{llllll}
\multicolumn{6}{l}{\bfseries Encoding \ttfamily LSBC4}\\[0.5ex]
 Layer:       & fieldmask
              & field
              & piecemask
              & piece
              & result\\
 WhiteSquare  &\boardfont\cfss@whitefieldmaskcolor z
              &
              &
              &
              &\boardfont\cfss@WhiteEmptySquare\\
 BlackSquare  &\boardfont\cfss@blackfieldmaskcolor z
              &
              &
              &
              &\boardfont\cfss@BlackEmptySquare\\
 WhiteOnWhite &\boardfont\cfss@whitefieldmaskcolor 1
              &
              &
              &\boardfont\cfss@whitepiececolor K
              &\boardfont\cfss@WhiteKingOnWhite\\
 WhiteOnBlack &\boardfont\cfss@blackfieldmaskcolor 1
              &
              &
              &\boardfont\cfss@whitepiececolor K
              &\boardfont\cfss@WhiteKingOnBlack\\
 BlackOnWhite &\boardfont\cfss@whitefieldmaskcolor 1
              &
              &
              &\boardfont\cfss@blackpiececolor k
              &\boardfont\cfss@BlackKingOnWhite\\
 BlackOnBlack &\boardfont\cfss@blackfieldmaskcolor 1
              &
              &
              &\boardfont\cfss@blackpiececolor k
              &\boardfont\cfss@BlackKingOnBlack\\
\end{tabular}}


\DeclareTextCommand\cfss@WhiteEmptySquare {LSBC4}{{\cfss@whitefieldmaskcolor z}}
\DeclareTextCommand\cfss@BlackEmptySquare {LSBC4}%
  {{\cfss@blackfieldmaskcolor z}}
\DeclareTextCommand\cfss@WhiteKingOnWhite {LSBC4}%
    {\cfss@composefmpcolorchar
      {white}{1}
      {white}{K}}
\DeclareTextCommand\cfss@BlackKingOnWhite  {LSBC4}
   {\cfss@composefmpcolorchar
      {white}{1}
      {black}{k}}
\DeclareTextCommand\cfss@WhiteKingOnBlack  {LSBC4}
   {\cfss@composefmpcolorchar
      {black}{1}
      {white}{K}}
\DeclareTextCommand\cfss@BlackKingOnBlack  {LSBC4}
   {\cfss@composefmpcolorchar
      {black}{1}
      {black}{k}}

\DeclareTextCommand\cfss@WhiteQueenOnWhite {LSBC4}%
    {\cfss@composefmpcolorchar
      {white}{5}
      {white}{Q}}
\DeclareTextCommand\cfss@BlackQueenOnWhite  {LSBC4}
   {\cfss@composefmpcolorchar
      {white}{5}
      {black}{q}}
\DeclareTextCommand\cfss@WhiteQueenOnBlack  {LSBC4}
   {\cfss@composefmpcolorchar
      {black}{5}
      {white}{Q}}
\DeclareTextCommand\cfss@BlackQueenOnBlack  {LSBC4}
   {\cfss@composefmpcolorchar
      {black}{5}
      {black}{q}}


\DeclareTextCommand\cfss@WhiteRookOnWhite {LSBC4}%
    {\cfss@composefmpcolorchar
      {white}{3}
      {white}{R}}
\DeclareTextCommand\cfss@BlackRookOnWhite  {LSBC4}
   {\cfss@composefmpcolorchar
      {white}{3}
      {black}{r}}
\DeclareTextCommand\cfss@WhiteRookOnBlack  {LSBC4}
   {\cfss@composefmpcolorchar
      {black}{3}
      {white}{R}}
\DeclareTextCommand\cfss@BlackRookOnBlack  {LSBC4}
   {\cfss@composefmpcolorchar
      {black}{3}
      {black}{r}}

\DeclareTextCommand\cfss@WhiteBishopOnWhite {LSBC4}%
    {\cfss@composefmpcolorchar
      {white}{4}
      {white}{B}}
\DeclareTextCommand\cfss@BlackBishopOnWhite  {LSBC4}
   {\cfss@composefmpcolorchar
      {white}{4}
      {black}{b}}
\DeclareTextCommand\cfss@WhiteBishopOnBlack  {LSBC4}
   {\cfss@composefmpcolorchar
      {black}{4}
      {white}{B}}
\DeclareTextCommand\cfss@BlackBishopOnBlack  {LSBC4}
   {\cfss@composefmpcolorchar
      {black}{4}
      {black}{b}}

\DeclareTextCommand\cfss@WhiteKnightOnWhite {LSBC4}%
    {\cfss@composefmpcolorchar
      {white}{2}
      {white}{N}}
\DeclareTextCommand\cfss@BlackKnightOnWhite  {LSBC4}
   {\cfss@composefmpcolorchar
      {white}{2}
      {black}{n}}
\DeclareTextCommand\cfss@WhiteKnightOnBlack  {LSBC4}
   {\cfss@composefmpcolorchar
      {black}{2}
      {white}{N}}
\DeclareTextCommand\cfss@BlackKnightOnBlack  {LSBC4}
   {\cfss@composefmpcolorchar
      {black}{2}
      {black}{n}}

\DeclareTextCommand\cfss@WhitePawnOnWhite {LSBC4}%
    {\cfss@composefmpcolorchar
      {white}{6}
      {white}{P}}
\DeclareTextCommand\cfss@BlackPawnOnWhite  {LSBC4}
   {\cfss@composefmpcolorchar
      {white}{6}
      {black}{p}}
\DeclareTextCommand\cfss@WhitePawnOnBlack  {LSBC4}
   {\cfss@composefmpcolorchar
      {black}{6}
      {white}{P}}
\DeclareTextCommand\cfss@BlackPawnOnBlack  {LSBC4}
   {\cfss@composefmpcolorchar
      {black}{6}
      {black}{p}}
%</lsbc4enc>
%<*lsbc5enc>
%% LSBC5: An encoding for chessboard chars.
%% that makes it possible to color field and the piece differently.
%% In this encoding the pieces/fields are build with
%% the piecemask and the pieceOnWhite. The fields must get color through
%% the background.
%% If a color package is loaded, the piecemask will be white.
%% The solid fieldmask and the field layers are not used.
%% The encoding works with fonts that have
%% piecemask (on position T-Y) and the pieceOnWhite chars.
%% A possible free font is skaknew.
%% DiaTTFri.ttf (from fritz) also has the necessary characters but must be converted
%% and reencoded first.

\ProvidesFile{lsbc5enc.def}
 [2006/05/22 v1.0
         Standard LaTeX file]
\DeclareFontEncoding{LSBC5}{}{}
\DeclareFontSubstitution{LSBC5}{skaknew}{m}{n}

\AtBeginDocument{%
  \@ifundefined{color}
   {\def\color#1{}%
    \PackageWarning{chessfss}
     {You haven't load a color package.
      I will define the color command to do nothing}{}}
   {}}

\providecommand\cfss@whiteonwhitepiecemaskcolor{\color{white}}
\providecommand\cfss@whiteonblackpiecemaskcolor{\color{white}}
\providecommand\cfss@blackonwhitepiecemaskcolor{\color{white}}
\providecommand\cfss@blackonblackpiecemaskcolor{\color{white}}
\providecommand\cfss@whitepiececolor{}
\providecommand\cfss@blackpiececolor{}

\providecommand\cfss@composepmpcolorchar[4]{%range layer.  pm, p
  \makebox[0pt][l]{% piecemasklayer
    \csname cfss@#1piecemaskcolor\endcsname#2}%
  {\csname cfss@#3piececolor\endcsname#4}}% piecelayer

\@namedef{cfss@showboardencodingLSBC5}{%
\begin{tabular}{llllll}
\multicolumn{6}{l}{\bfseries Encoding \ttfamily LSBC5}\\[0.5ex]
 Layer:       &fieldmask
              &field
              &piecemask
              &piece
              &result\\
 WhiteSquare  &
              &
              &
              &
              &\\
 BlackSquare  &
              &
              &
              &
              &\\
 WhiteOnWhite &
              &
              &\boardfont\cfss@whiteonwhitepiecemaskcolor T
              &\boardfont\cfss@whitepiececolor K
              &\boardfont\cfss@WhiteKingOnWhite\\
 WhiteOnBlack &
              &
              &\boardfont\cfss@whiteonblackpiecemaskcolor T
              &\boardfont\cfss@whitepiececolor K
              &\boardfont\cfss@WhiteKingOnBlack\\
 BlackOnWhite &
              &
              &\boardfont\cfss@blackonwhitepiecemaskcolor T
              &\boardfont\cfss@blackpiececolor k
              &\boardfont\cfss@BlackKingOnWhite\\
 BlackOnBlack &
              &
              &\boardfont\cfss@blackonblackpiecemaskcolor T
              &\boardfont\cfss@blackpiececolor k
              &\boardfont\cfss@BlackKingOnBlack\\
\end{tabular}}

\DeclareTextCommand\cfss@WhiteEmptySquare {LSBC5}{\phantom{Z}}
\DeclareTextCommand\cfss@BlackEmptySquare {LSBC5}{\phantom{Z}}
\DeclareTextCommand\cfss@WhiteKingOnWhite {LSBC5}
    {\cfss@composepmpcolorchar
      {whiteonwhite}{T}
      {white}{K}}
\DeclareTextCommand\cfss@BlackKingOnWhite  {LSBC5}
   {\cfss@composepmpcolorchar
      {blackonwhite}{T}
      {black}{k}}
\DeclareTextCommand\cfss@WhiteKingOnBlack  {LSBC5}
   {\cfss@composepmpcolorchar
      {whiteonblack}{T}
      {white}{K}}
\DeclareTextCommand\cfss@BlackKingOnBlack  {LSBC5}
   {\cfss@composepmpcolorchar
      {blackonblack}{T}
      {black}{k}}

\DeclareTextCommand\cfss@WhiteQueenOnWhite {LSBC5}
    {\cfss@composepmpcolorchar
      {whiteonwhite}{X}
      {white}{Q}}
\DeclareTextCommand\cfss@BlackQueenOnWhite {LSBC5}
   {\cfss@composepmpcolorchar
      {blackonwhite}{X}
      {black}{q}}
\DeclareTextCommand\cfss@WhiteQueenOnBlack {LSBC5}
   {\cfss@composepmpcolorchar
      {whiteonblack}{X}
      {white}{Q}}
\DeclareTextCommand\cfss@BlackQueenOnBlack {LSBC5}
   {\cfss@composepmpcolorchar
      {blackonblack}{X}
      {black}{q}}

\DeclareTextCommand\cfss@WhiteRookOnWhite {LSBC5}
    {\cfss@composepmpcolorchar
      {whiteonwhite}{V}
      {white}{R}}
\DeclareTextCommand\cfss@BlackRookOnWhite {LSBC5}
   {\cfss@composepmpcolorchar
      {blackonwhite}{V}
      {black}{r}}
\DeclareTextCommand\cfss@WhiteRookOnBlack {LSBC5}
   {\cfss@composepmpcolorchar
      {whiteonblack}{V}
      {white}{R}}
\DeclareTextCommand\cfss@BlackRookOnBlack  {LSBC5}
   {\cfss@composepmpcolorchar
      {blackonblack}{V}
      {black}{r}}

\DeclareTextCommand\cfss@WhiteBishopOnWhite {LSBC5}
    {\cfss@composepmpcolorchar
      {whiteonwhite}{W}
      {white}{B}}
\DeclareTextCommand\cfss@BlackBishopOnWhite {LSBC5}
   {\cfss@composepmpcolorchar
      {blackonwhite}{W}
      {black}{b}}
\DeclareTextCommand\cfss@WhiteBishopOnBlack {LSBC5}
   {\cfss@composepmpcolorchar
      {whiteonblack}{W}
      {white}{B}}
\DeclareTextCommand\cfss@BlackBishopOnBlack {LSBC5}
   {\cfss@composepmpcolorchar
      {blackonblack}{W}
      {black}{b}}

\DeclareTextCommand\cfss@WhiteKnightOnWhite {LSBC5}
    {\cfss@composepmpcolorchar
      {whiteonwhite}{U}
      {white}{N}}
\DeclareTextCommand\cfss@BlackKnightOnWhite {LSBC5}
   {\cfss@composepmpcolorchar
      {blackonwhite}{U}
      {black}{n}}
\DeclareTextCommand\cfss@WhiteKnightOnBlack {LSBC5}
   {\cfss@composepmpcolorchar
      {whiteonblack}{U}
      {white}{N}}
\DeclareTextCommand\cfss@BlackKnightOnBlack {LSBC5}
   {\cfss@composepmpcolorchar
      {blackonblack}{U}
      {black}{n}}

\DeclareTextCommand\cfss@WhitePawnOnWhite {LSBC5}
    {\cfss@composepmpcolorchar
      {whiteonwhite}{Y}
      {white}{P}}
\DeclareTextCommand\cfss@BlackPawnOnWhite {LSBC5}
   {\cfss@composepmpcolorchar
      {blackonwhite}{Y}
      {black}{p}}
\DeclareTextCommand\cfss@WhitePawnOnBlack {LSBC5}
   {\cfss@composepmpcolorchar
      {whiteonblack}{Y}
      {white}{P}}
\DeclareTextCommand\cfss@BlackPawnOnBlack {LSBC5}
   {\cfss@composepmpcolorchar
      {blackonblack}{Y}
      {black}{p}}
%</lsbc5enc>
% LSF (figurine) fd-files of skak and skaknew
%<*lsfskak>
\ProvidesFile{lsfskak.fd}
        [2006/03/31 v1.0 Chess font definitions]

\DeclareFontFamily{LSF}{skak}{}
 \DeclareFontShape{LSF}{skak}{m}{n}{<-> skakf10}{}
 \DeclareFontShape{LSF}{skak}{bx}{n}{<-> skakf10b}{}
 \DeclareFontShape{LSF}{skak}{b}{n}{<-> skakf10b}{}
%</lsfskak>
%<*lsfskaknew>
\ProvidesFile{lsfskaknew.fd}
        [2006/03/31 v1.0 Chess font definitions]

\DeclareFontFamily{LSF}{skaknew}{}
 \DeclareFontShape{LSF}{skaknew}{m}{n}{<-> SkakNew-Figurine}{}
 \DeclareFontShape{LSF}{skaknew}{bx}{n}{<-> SkakNew-FigurineBold}{}
 \DeclareFontShape{LSF}{skaknew}{b}{n}{<-> SkakNew-FigurineBold}{}
%</lsfskaknew>
% LSI (informator) fd-files of skak and skaknew
%<*lsiskak>
\ProvidesFile{lsiskak.fd}
        [2006/03/31 v1.0 Chess font definitions]

\DeclareFontFamily{LSI}{skak}{}
 \DeclareFontShape{LSI}{skak}{m}{n}{<-> skakf10}{}
 \DeclareFontShape{LSI}{skak}{bx}{n}{<-> skakf10b}{}
 \DeclareFontShape{LSI}{skak}{b}{n}{<-> skakf10b}{}
%</lsiskak>
%<*lsiskaknew>
\ProvidesFile{lsiskaknew.fd}
        [2006/03/31 v1.0 Chess font definitions]

\DeclareFontFamily{LSI}{skaknew}{}
 \DeclareFontShape{LSI}{skaknew}{m}{n}{<-> SkakNew-Figurine}{}
 \DeclareFontShape{LSI}{skaknew}{bx}{n}{<-> SkakNew-FigurineBold}{}
 \DeclareFontShape{LSI}{skaknew}{b}{n}{<-> SkakNew-FigurineBold}{}
%</lsiskaknew>
% LSB (board) fd-files of skak and skaknew
%<*lsbskak>
\ProvidesFile{lsbskak.fd}
        [2006/03/31 v1.0 Chess font definitions]

\DeclareFontFamily{LSB}{skak}{}
  \DeclareFontShape{LSB}{skak}{m}{n}{<-> skak10}{}
%</lsbskak>
%<*lsbskaknew>
\ProvidesFile{lsbskaknew.fd}
        [2006/03/31 v1.0 Chess font definitions]

\DeclareFontFamily{LSB}{skaknew}{}
 \DeclareFontShape{LSB}{skaknew}{m}{n}{<-16> SkakNew-DiagramT <16-> SkakNew-Diagram}{}
%</lsbskaknew>
% LSB1
%<*lsb1skak>
%% Experimental board font encoding
\ProvidesFile{lsb1skak.fd}
        [2006/03/31 v1.0 Chess font definitions]

\DeclareFontFamily{LSB1}{skak}{}
  \DeclareFontShape{LSB1}{skak}{m}{n}{<-> skak10}{}
%</lsb1skak>
%<*lsb1skaknew>
%% Experimental board font encoding
\ProvidesFile{lsb1skaknew.fd}
        [2006/03/31 v1.0 Chess font definitions]

\DeclareFontFamily{LSB1}{skaknew}{}
 \DeclareFontShape{LSB1}{skaknew}{m}{n}{<-16> SkakNew-DiagramT <16-> SkakNew-Diagram}{}
%</lsb1skaknew>
% LSB2
%<*lsb2skak>
%% Experimental board font encoding
\ProvidesFile{lsb2skak.fd}
        [2006/05/22 v1.0 Chess font definitions]

\DeclareFontFamily{LSB2}{skak}{}
  \DeclareFontShape{LSB2}{skak}{m}{n}{<-> skak10}{}
%</lsb2skak>
%
%<*lsb2skaknew>
%% Experimental board font encoding
\ProvidesFile{lsb2skaknew.fd}
        [2006/05/22 v1.0 Chess font definitions]

\DeclareFontFamily{LSB2}{skaknew}{}
 \DeclareFontShape{LSB2}{skaknew}{m}{n}{<-16> SkakNew-DiagramT <16-> SkakNew-Diagram}{}
%</lsb2skaknew>
% LSB3
%<*lsb3skak>
%% Experimental board font encoding
\ProvidesFile{lsb3skak.fd}
        [2006/03/31 v1.0 Chess font definitions]

\DeclareFontFamily{LSB3}{skak}{}
  \DeclareFontShape{LSB3}{skak}{m}{n}{<-> skak10}{}
%</lsb3skak>
%
%<*lsb3skaknew>
%% Experimental board font encoding
\ProvidesFile{lsbskaknew.fd}
        [2006/03/31 v1.0 Chess font definitions]

\DeclareFontFamily{LSB3}{skaknew}{}
 \DeclareFontShape{LSB3}{skaknew}{m}{n}{<-16> SkakNew-DiagramT <16-> SkakNew-Diagram}{}
%</lsb3skaknew>
%<*lsbc1skaknew>
%% Color board font encoding
\ProvidesFile{lsbc1skaknew.fd}
        [2006/05/22 v1.0 Chess font definitions]

\DeclareFontFamily{LSBC1}{skaknew}{}
 \DeclareFontShape{LSBC1}{skaknew}{m}{n}{<-16> SkakNew-DiagramT <16-> SkakNew-Diagram}{}
%</lsbc1skaknew>
%<*lsbc2skaknew>
%% Color board font encoding
\ProvidesFile{lsbc2skaknew.fd}
        [2006/05/22 v1.0 Chess font definitions]

\DeclareFontFamily{LSBC2}{skaknew}{}
 \DeclareFontShape{LSBC2}{skaknew}{m}{n}{<-16> SkakNew-DiagramT <16-> SkakNew-Diagram}{}
%</lsbc2skaknew>
%<*lsbc3skaknew>
%% Color board font encoding
\ProvidesFile{lsbc3skaknew.fd}
        [2006/05/22 v1.0 Chess font definitions]

\DeclareFontFamily{LSBC3}{skaknew}{}
 \DeclareFontShape{LSBC3}{skaknew}{m}{n}{<-16> SkakNew-DiagramT <16-> SkakNew-Diagram}{}
%</lsbc3skaknew>
%<*lsbc4skaknew>
%% Color board font encoding
\ProvidesFile{lsbc4skaknew.fd}
        [2006/05/22 v1.0 Chess font definitions]

\DeclareFontFamily{LSBC4}{skaknew}{}
 \DeclareFontShape{LSBC4}{skaknew}{m}{n}{<-16> SkakNew-DiagramT <16-> SkakNew-Diagram}{}
%</lsbc4skaknew>
%<*lsbc5skaknew>
%% Color board font encoding
\ProvidesFile{lsbc5skaknew.fd}
        [2006/06/14 v1.0 Chess font definitions]

\DeclareFontFamily{LSBC5}{skaknew}{}
 \DeclareFontShape{LSBC5}{skaknew}{m}{n}{<-16> SkakNew-DiagramT <16-> SkakNew-Diagram}{}
%</lsbc5skaknew>
%<*genericfig>
/Chess***FigEncoding[
%0x
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%1x
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%2x
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%3x
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%4x
/.notdef /.notdef
%% Bishop
/***
/.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef
%% King
/*** /.notdef /.notdef
%% Knight
/*** /.notdef
%5x
/.notdef
%% Queen
/***
%%Rook
/*** /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%6x
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%7x Pawn
/*** /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%8x
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%9x
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%Ax
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%Bx
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%Cx
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%Dx
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%Dx
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%Ex
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
] def
%</genericfig>
%<*genericboard>
/Chess***BoardEncoding[
%0x
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%1x
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%2x
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%3x
%WhiteSquare
/***
%solid king fieldmask
/***
%solid knight fieldmask
/***
%solid rook fieldmask
/***
%solid bishop fieldmask
/***
%solid queen fieldmask
/***
%solid pawn fieldmask
/***
/.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%4x
/.notdef
%WBishopOnBlack
/***
%WBishopOnWhite
/***
/.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef
%WKingOnBlack
/***
%WKingOnWhite
/***
%WQueenOnBlack
/***
%WKnightOnBlack
/***
%WKnightOnWhite
/***
%WPawnOnBlack
/***
%5x
%WPawnOnWhite
/***
%WQueenOnWhite
/***
%WRookOnWhite
/***
%WRookOnBlack
/***
%king piecemask
/***
%knight piecemask
/***
%rook piecemask
/***
%bishop piecemask
/***
%queen piecemask
/***
%pawn piecemask
/***
%BlackSquare
/***
/.notdef /.notdef /.notdef /.notdef /.notdef
%6x
/.notdef
%BBishopOnBlack
/***
%BBishopOnWhite
/***
/.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef
%BKingOnBlack
/***
%BKingOnWhite
/***
%BQueenOnBlack
/***
%BKnightOnBlack
/***
%BKnightOnWhite
/***
%BPawnOnBlack
/***
%7x
%BPawnOnWhite
/***
%BQueenOnWhite
/***
%BRookOnWhite
/***
%BRookOnBlack
/***
/.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef
%solid black fieldmask
/***
/.notdef /.notdef /.notdef /.notdef /.notdef
%8x
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%9x
/.notdef /.notdef /.notdef /.notdef /.notdef
%king fieldmask
/***
%knight fieldmask
/***
%rook fieldmask
/***
%bishop fieldmask
/***
%queen fieldmask
/***
%pawn fieldmask
/***
/.notdef /.notdef /.notdef /.notdef /.notdef
%Ax
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%Bx
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%Cx
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%Dx
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%Dx
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
%Ex
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
] def
%</genericboard>


\endinput