summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/chessfss
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/chessfss
Initial commit
Diffstat (limited to 'macros/latex/contrib/chessfss')
-rw-r--r--macros/latex/contrib/chessfss/README66
-rw-r--r--macros/latex/contrib/chessfss/chessfonts_gallery.pdfbin0 -> 1088139 bytes
-rw-r--r--macros/latex/contrib/chessfss/chessfss-src.dtx2563
-rw-r--r--macros/latex/contrib/chessfss/chessfss.ins115
-rw-r--r--macros/latex/contrib/chessfss/chessfss.pdfbin0 -> 817624 bytes
5 files changed, 2744 insertions, 0 deletions
diff --git a/macros/latex/contrib/chessfss/README b/macros/latex/contrib/chessfss/README
new file mode 100644
index 0000000000..6c7c3cfea3
--- /dev/null
+++ b/macros/latex/contrib/chessfss/README
@@ -0,0 +1,66 @@
+chessfss --- chess fontselection scheme Version 1.2a
+Ulrike Fischer 2006
+
+CONTENTS AND INSTALLATION
+
+- Readme (this file)
+- chessfss-scr.dtx
+- chessfss.ins
+- chessfss.pdf
+- chessfss.pdf
+- chessfonts_gallery.pdf
+
+Run TeX/LaTeX on chessfss.ins to unpack the dtx.
+Put the files the .sty, the .def and all the .fd-files in
+tex/latex/chessfss/.
+
+You will also get two generic .enc-files.
+Put them together with the two .pdf's
+in doc/latex/chessfss/.
+
+The ins-file suggest the following directories:
+
+for the encoding-.def-files:
+tex/latex/chessfss/enc
+
+for the .fd-files of the skak-fonts:
+tex/latex/chessfss/skak
+
+for the .fd-files of the skaknew-fonts:
+tex/latex/chessfss/skaknew
+
+for the two generic .enc-files:
+doc/latex/chessfss
+
+If you have a docstrip.cfg which points to one of your texmf-tree e.g. with the content
+
+\BaseDirectory{D:/texmf}
+\UseTDS
+
+AND IF ALL FOLDERS EXIST then the ins.file will unpack to this
+folders. If you want the files to go to other locations you can
+change the pathes in the .ins-file.
+
+The dtx-file doesn't contain any documentation.
+So running LaTeX on it makes no sense!
+
+
+
+DOCUMENTATION
+
+chessfss.pdf. There isn't a source for the documentation as it use some
+local fonts and styles.
+
+DESCRIPTION
+
+This package offers commands to use and switch between chess
+fonts. It use the LaTeX font selection scheme (nfss).
+
+The package doesn't parse, format and print "Portable Game
+Notation" (PGN) input like e.g. the packages skak or texmate.
+
+The aim of the package is to offer writers of chess packages a
+bundle of commands for fonts, so that they don't have to
+implement all this commands for themselves. chessfss.sty is now
+used in the version of skak.sty which you can find at
+CTAN.
diff --git a/macros/latex/contrib/chessfss/chessfonts_gallery.pdf b/macros/latex/contrib/chessfss/chessfonts_gallery.pdf
new file mode 100644
index 0000000000..9e6f15febc
--- /dev/null
+++ b/macros/latex/contrib/chessfss/chessfonts_gallery.pdf
Binary files differ
diff --git a/macros/latex/contrib/chessfss/chessfss-src.dtx b/macros/latex/contrib/chessfss/chessfss-src.dtx
new file mode 100644
index 0000000000..0d1ae58203
--- /dev/null
+++ b/macros/latex/contrib/chessfss/chessfss-src.dtx
@@ -0,0 +1,2563 @@
+%<*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
diff --git a/macros/latex/contrib/chessfss/chessfss.ins b/macros/latex/contrib/chessfss/chessfss.ins
new file mode 100644
index 0000000000..253df03e04
--- /dev/null
+++ b/macros/latex/contrib/chessfss/chessfss.ins
@@ -0,0 +1,115 @@
+%%
+%% This file will generate fast loadable files from chessfss-ex.dtx
+%% when run through LaTeX or TeX.
+%%
+%% This file is part of the LaTeX2e chessfss bundle
+%% ---------------------------------------------------
+%%
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% Copyright 2005 Ulrike Fischer (skak@nililand.de)
+%% -------------------------------------------
+%
+%
+%% This program 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.
+
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\input docstrip.tex
+
+\keepsilent
+\askforoverwritetrue
+
+\preamble
+\endpreamble
+
+\ifToplevel{\ifx\generate\undefined
+ \Msg{**********************************************}
+ \Msg{*}
+ \Msg{* This installation requires docstrip}
+ \Msg{* version 2.3c or later.}
+ \Msg{*}
+ \Msg{* An older version of docstrip has been input}
+ \Msg{*}
+ \Msg{**********************************************}
+ \errhelp{Move or rename old docstrip.tex.}
+ \errmessage{Old docstrip in input path}
+ \batchmode
+ \csname @@end\endcsname
+ \fi
+ \ifx\askonceonly\undefined\else\askonceonly\fi
+}
+
+\declarepreamble\UFpreamble
+
+chessfss: chess font selection commands
+Copyright 2005 Ulrike Fischer (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.
+\endpreamble
+
+
+%% File generation:
+
+\generate{%
+ \usepreamble\UFpreamble
+ %% style
+ \usedir{tex/latex/chessfss}
+ \file{chessfss.sty}{\from{chessfss-src.dtx}{sty}}
+ %%
+ %% enc-definitionen
+ \usedir{tex/latex/chessfss/enc}
+ \file{lsfenc.def} {\from{chessfss-src.dtx}{lsfenc}}
+ \file{lsienc.def} {\from{chessfss-src.dtx}{lsienc}}
+ \file{lsbenc.def} {\from{chessfss-src.dtx}{lsbenc}}
+ \file{lsb1enc.def} {\from{chessfss-src.dtx}{lsb1enc}}
+ \file{lsb2enc.def} {\from{chessfss-src.dtx}{lsb2enc}}
+ \file{lsb3enc.def} {\from{chessfss-src.dtx}{lsb3enc}}
+ \file{lsbc1enc.def}{\from{chessfss-src.dtx}{lsbc1enc}}
+ \file{lsbc2enc.def}{\from{chessfss-src.dtx}{lsbc2enc}}
+ \file{lsbc3enc.def}{\from{chessfss-src.dtx}{lsbc3enc}}
+ \file{lsbc4enc.def}{\from{chessfss-src.dtx}{lsbc4enc}}
+ \file{lsbc5enc.def}{\from{chessfss-src.dtx}{lsbc5enc}}
+ %% fd-files skak
+ \usedir{tex/latex/chessfss/skak}
+ \file{lsfskak.fd} {\from{chessfss-src.dtx}{lsfskak}}
+ \file{lsiskak.fd} {\from{chessfss-src.dtx}{lsiskak}}
+ \file{lsbskak.fd} {\from{chessfss-src.dtx}{lsbskak}}
+ \file{lsb1skak.fd} {\from{chessfss-src.dtx}{lsb1skak}}
+ \file{lsb2skak.fd} {\from{chessfss-src.dtx}{lsb2skak}}
+ \file{lsb3skak.fd} {\from{chessfss-src.dtx}{lsb3skak}}
+ %% fd-files skaknew
+ \usedir{tex/latex/chessfss/skaknew}
+ \file{lsfskaknew.fd} {\from{chessfss-src.dtx}{lsfskaknew}}
+ \file{lsiskaknew.fd} {\from{chessfss-src.dtx}{lsiskaknew}}
+ \file{lsbskaknew.fd} {\from{chessfss-src.dtx}{lsbskaknew}}
+ \file{lsb1skaknew.fd} {\from{chessfss-src.dtx}{lsb1skaknew}}
+ \file{lsb2skaknew.fd} {\from{chessfss-src.dtx}{lsb2skaknew}}
+ \file{lsb3skaknew.fd} {\from{chessfss-src.dtx}{lsb3skaknew}}
+ \file{lsbc1skaknew.fd}{\from{chessfss-src.dtx}{lsbc1skaknew}}
+ \file{lsbc2skaknew.fd}{\from{chessfss-src.dtx}{lsbc2skaknew}}
+ \file{lsbc3skaknew.fd}{\from{chessfss-src.dtx}{lsbc3skaknew}}
+ \file{lsbc4skaknew.fd}{\from{chessfss-src.dtx}{lsbc4skaknew}}
+ \file{lsbc5skaknew.fd}{\from{chessfss-src.dtx}{lsbc5skaknew}}
+ %% generic enc-examples
+ \usedir{doc/latex/chessfss}
+ \nopostamble
+ \file{chess-board-example-enc.enc}{\from{chessfss-src.dtx}{genericboard}}
+ \file{chess-fig-example-enc.enc}{\from{chessfss-src.dtx}{genericfig}}}
+
+
+\endbatchfile
+%%
+%% end of file `scrclass.ins'
diff --git a/macros/latex/contrib/chessfss/chessfss.pdf b/macros/latex/contrib/chessfss/chessfss.pdf
new file mode 100644
index 0000000000..9aa5982cf9
--- /dev/null
+++ b/macros/latex/contrib/chessfss/chessfss.pdf
Binary files differ