diff options
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/metapost/contrib/macros/mpchess/README.md | 24 | ||||
-rw-r--r-- | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf | bin | 1020823 -> 859567 bytes | |||
-rw-r--r-- | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex | 62 | ||||
-rw-r--r-- | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf | bin | 1025535 -> 864214 bytes | |||
-rw-r--r-- | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex | 106 | ||||
-rw-r--r-- | graphics/metapost/contrib/macros/mpchess/doc/mpchess-preamble.tex | 20 | ||||
-rw-r--r-- | graphics/metapost/contrib/macros/mpchess/fonts/mpchessfont.ttf | bin | 0 -> 38292 bytes | |||
-rw-r--r-- | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp | 2 | ||||
-rw-r--r-- | graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp | 26 |
9 files changed, 189 insertions, 51 deletions
diff --git a/graphics/metapost/contrib/macros/mpchess/README.md b/graphics/metapost/contrib/macros/mpchess/README.md index 20f8bf4275..296db6d543 100644 --- a/graphics/metapost/contrib/macros/mpchess/README.md +++ b/graphics/metapost/contrib/macros/mpchess/README.md @@ -8,6 +8,12 @@ allows more graphic flexibility than the excellent LaTeX packages. _This package is in beta version, do not hesitate to report bugs, as well as requests for improvement_. +## Github + +To allow for easier feedback and bug reporting, this repository has a mirror +repository on github: +[https://github.com/chupinmaxime/mpchess](https://github.com/chupinmaxime/mpchess) + ## Installation MPchess is on the [ctan](ctan.org) and can be installed via the package manager of your @@ -33,6 +39,9 @@ MPchess consists of 7 files METAPOST : * `mpchess-pieces.mp`; * `mpchess-skak.mp`. +MPchess comes with a very basic chess font `mpchess font.ttf` that includes only +13 glyphs. + Once this is done, MPchess will be loaded with the classic ```metapost input mpchess @@ -54,6 +63,21 @@ used with LuaLaTeX and luamplib, `latexmp`. * [English documentation](doc/mpchess-doc-en.pdf) * [Documentation en français](doc/mpchess-doc-fr.pdf) +### Piece Set + +A piece set has been designed for this package. It has also be added to +[lichess.org](https://lichess.org) under the name of `mpchess`. + +A dedicated git repository is available: +[https://plmlab.math.cnrs.fr/mchupin/mpchess-pieces](https://plmlab.math.cnrs.fr/mchupin/mpchess-pieces) +and +[https://github.com/chupinmaxime/mpchess](https://github.com/chupinmaxime/mpchess). + +A TrueType font is available. +## Contact + +Maxime Chupin, `notezik(at)gmail.com` + ## Licenses This projet is under LATEX Project Public License 1.3c but the file diff --git a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf Binary files differindex 584f75a0c0..2e4ff6add0 100644 --- a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf +++ b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf diff --git a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex index 2d7492970c..be40341c4f 100644 --- a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex +++ b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.tex @@ -68,7 +68,7 @@ } \vfill \begin{center} - Version 0.4, 2023, April, 6th \\ + Version 0.5, 2023, April, 20th \\ \url{https://plmlab.math.cnrs.fr/mchupin/mpchess} \end{center} %% == Page de garde ==================================================== @@ -87,6 +87,7 @@ \begin{center} \url{https://plmlab.math.cnrs.fr/mchupin/mpchess} + \url{https://github.com/chupinmaxime/mpchess} \end{center} \tableofcontents @@ -115,7 +116,7 @@ distribution. \end{center} -\subsection{With \TeX live under Linux or MacOS} +\subsection{With \TeX live under Linux or macOS} To install \mpchess with \TeX Live, you will have to create the directory \lstinline+texmf+ directory in your \lstinline+home+. @@ -453,8 +454,15 @@ macros allow to generate a \lstinline+picture+ to be drawn \emph{over} the board \subsection{Setting the Theme of the Pieces} -\mpchess provides for the moment three themes of pieces: two borrowed from -Lichess, and one borrowed from the +\mpchess provides for the moment three themes of pieces. The default theme is +called \lstinline+mpchess+. It has been designed for this package \hologo{METAPOST}. +It has been proposed to the Lichess project, and has been accepted. Thus, you +will also have access to the \lstinline+mpchess+ piece set with +Lichess\footnote{The open-source projects feed each other! Even if obviously, +this package has borrowed much more from Lichess than the other way around.} + +Another theme is borrowed from +Lichess (\lstinline+cburnett+) and the last one is borrowed from the package~\package{skak}~cite{ctan-skak}\footnote{Which provides the \MF{} code for a chess font, which has been easily adapted to \MP{} for \mpchess.}. @@ -465,10 +473,10 @@ To choose the theme, use the following command: \begin{description} \item[\meta{string}:] can be: \begin{itemize} -\item \lstinline+"cburnett"+ (default), to use the Lichess \emph{cburnett} -pieces set; -\item \lstinline+"mpchess"+, to use the set specially designed for this +\item \lstinline+"mpchess"+ (default), to use the set specially designed for this package; +\item \lstinline+"cburnett"+, to use the Lichess \emph{cburnett} +pieces set; \item \lstinline+"skak"+, to use the \package{skak} pieces set. \end{itemize} @@ -1265,6 +1273,44 @@ endfig; \end{document} \end{latexcode} +\subsection{TrueType Font} + +The \mpchess{} package provides a very simple font composed of only the 12 +glyphs corresponding to the black and white pieces in the Unicode table. To +access it you just have to use \hologo{LuaLaTeX} or \hologo{XeLaTeX} and the +package \package{fontspec}. To facilitate its use, we propose +some definitions. + +\begin{latexcode} + \documentclass{article} + \usepackage{fontspec} + \newfontfamily{\chessfont}{mpchess font} + \newcommand\bP{{\chessfont \char"265F}} % black Pawn + \newcommand\bN{{\chessfont \char"265E}} % black Knight + \newcommand\bB{{\chessfont \char"265D}} % black Bishop + \newcommand\bR{{\chessfont \char"265C}} % black Rook + \newcommand\bQ{{\chessfont \char"265B}} % black Queen + \newcommand\bK{{\chessfont \char"265A}} % black King + \newcommand\wP{{\chessfont \char"2659}} % white Pawn + \newcommand\wN{{\chessfont \char"2658}} % white Knight + \newcommand\wB{{\chessfont \char"2657}} % white Bishop + \newcommand\wR{{\chessfont \char"2656}} % white Rook + \newcommand\wQ{{\chessfont \char"2655}} % white Queen + \newcommand\wK{{\chessfont \char"2654}} % white King + + \begin{document} + + 1. e4 e5 2. \wB c4 d6 3. \wN f3 \bB g4 4. \wN + c3 g6 5. \wN xe5 \bB xd1. + + \end{document} + \end{latexcode} + + This code will produce: + + "1. e4 e5 2. \wB c4 d6 3. \wN f3 \bB g4 + 4. \wN c3 g6 5. \wN xe5 \bB xd1." + \section{To Do} Many things can be added to \mpchess. Among these, we can think of: @@ -1302,6 +1348,8 @@ endfig; \section{History} \begin{description} +\item[v0.5, April 20, 2023:] Bug fixed, \textbf{changing the +default piece set} for the \lstinline+mpchess+ set (which has been added to Lichess), added TrueType font, and updated documentation. \item[v0.4, April 6, 2023:] Corrections in the documentation, especially the English version; added commands to visualize the possible movements for a piece (section~\ref{sec:possiblemoves}). diff --git a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf Binary files differindex 284d680906..ed40321556 100644 --- a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf +++ b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf diff --git a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex index a08aa99882..674bf9d619 100644 --- a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex +++ b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex @@ -71,7 +71,7 @@ } \vfill \begin{center} - Version 0.4, 6 avril 2023 \\ + Version 0.5, 20 avril 2023 \\ \url{https://plmlab.math.cnrs.fr/mchupin/mpchess} \end{center} %% == Page de garde ==================================================== @@ -90,6 +90,7 @@ excellent packages \LaTeX{}. \begin{center} \url{https://plmlab.math.cnrs.fr/mchupin/mpchess} + \url{https://github.com/chupinmaxime/mpchess} \end{center} \tableofcontents @@ -119,7 +120,7 @@ de votre distribution. \end{center} -\subsection{Avec la \TeX live sous Linux ou MacOS} +\subsection{Avec la \TeX live sous Linux ou macOS} Pour installer \mpchess avec \TeX live, il vous faudra créer le répertoire \lstinline+texmf+ dans votre \lstinline+home+. @@ -398,7 +399,7 @@ autour de l’échiquier. Ceci se fait avec les commandes suivantes. \commande|set_black_player(«string»)|\index{set_black_player@\lstinline+set_black_player+}\smallskip \begin{description} - \item[\meta{string} :] est la chaîne de caractères interprétée par \LaTeX à afficher. + \item[\meta{string} :] est la chaîne de caractères interprétée par \LaTeX{} à afficher. \end{description} \begin{ExempleMP} @@ -443,8 +444,13 @@ macros permettent de générer une \lstinline+picture+ à dessiner \emph{par \subsection{Réglage du thème des pièces} -\mpchess fournit pour l’instant trois thèmes de pièces, deux emprunté à Lichess, -et l’autre emprunté au package~\package{skak}~\cite{ctan-skak}\footnote{Qui +\mpchess fournit pour l’instant trois thèmes de pièces. Le thème par défaut est +appelé \lstinline+mpchess+. Il a été designé pour ce package \hologo{METAPOST}. +Il a été proposé au projet Lichess, et a été accepté. Ainsi, vous aurez aussi +accès à l’ensemble de pièces \lstinline+mpchess+ avec Lichess\footnote{Les +projets libres se nourrissent mutuellement ! Même si évidemment, ce package a +bien plus emprunté à Lichess que le contraire.} ! Un autre thème est emprunté à +Lichess (\lstinline+cburnett+) et l’autre est emprunté au package~\package{skak}~\cite{ctan-skak}\footnote{Qui fournit le code \MF{} pour la fonte de pièces d’échec, code qui a été facilement adapté en \MP{} pour \mpchess.}. @@ -455,10 +461,9 @@ Pour choisir le thème on utilisera la commande suivante. \begin{description} \item[\meta{string}:] peut valoir: \begin{itemize} -\item \lstinline+"cburnett"+ (valeur par défaut), pour obtenir l’ensemble de pièces nommé \emph{cburnett} de Lichess; - -\item \lstinline+"mpchess"+, pour obtenir l’ensemble de pièces spécialement -conçu pour ce package ; + \item \lstinline+"mpchess"+ (valeur par défaut), pour obtenir l’ensemble de pièces spécialement + conçu pour ce package ; + \item \lstinline+"cburnett"+, pour obtenir l’ensemble de pièces nommé \emph{cburnett} de Lichess; \item \lstinline+"skak"+, pour obtenir l’ensemble de pièces du package~\package{skak}. \end{itemize} \end{description} @@ -515,7 +520,7 @@ Thème \lstinline+skak+&\\ \subsection{Trait} \mpchess indique qui a le trait entre les blancs et les noirs. Ceci ce fait par -un petit triangle coloré (blanc ou noir) à l’extrérieur du plateau (que vous +un petit triangle coloré (blanc ou noir) à l’extérieur du plateau (que vous pourrez observer dans les nombreux exemples suivants). Pour spécifier qui a le trait on utilisera les commandes suivantes. @@ -808,16 +813,16 @@ Cette commande retourne un \lstinline+numeric+. \section{Annotation} -De nombreuses commandes permettent d’annonter l’échiquier (flêche, couleur, cercle, croix, etc.). +De nombreuses commandes permettent d’annoter l’échiquier (flèche, couleur, cercle, croix, etc.). \subsection{Flèches} -La commande pour tracer des flêches sur l’échiquier est la suivante. +La commande pour tracer des flèches sur l’échiquier est la suivante. \commande|draw_arrows(«color»)(«string1»,«string2», etc.)|\index{draw_arrows@\lstinline+draw_arrows+}\smallskip \begin{description} \item[\meta{color}:] est une \lstinline+color+ \MP. -\item[\meta{string1}:] est une chaîne de caractères (entre double-quotes) consituée de deux coordonnées (lettre et chiffre) séparés par deux caractères qui peuvent être +\item[\meta{string1}:] est une chaîne de caractères (entre double-quotes) constituée de deux coordonnées (lettre et chiffre) séparés par deux caractères qui peuvent être \begin{description} \vitem+--+ pour relier les deux cases en ligne droite ; \vitem+-|+ pour relier les deux cases en ligne brisée, d’abord horizontalement puis verticalement ; @@ -840,12 +845,12 @@ draw_arrows(red)("f8--b4","g1|-f3"); endfig; \end{ExempleMP} -On pourra modifier l’épaisseur des flêches grâce à la commande suivante. +On pourra modifier l’épaisseur des flèches grâce à la commande suivante. \commande|set_arrow_width(«coeff»)|\index{set_arrow_width@\lstinline+set_arrow_width+}\smallskip \begin{description} \item[\meta{coeff}:] est un coefficient (\lstinline+numeric+) qui permet de - régler la largeur des flêches proportionnellement à la largeur d’une case de + régler la largeur des flèches proportionnellement à la largeur d’une case de l’échiquier. Par défaut, ce coefficient vaut \lstinline+0.08+. \end{description} @@ -874,7 +879,7 @@ endfig; \begin{description} \item[\meta{color}:] est une \lstinline+color+ \MP. -\item[\meta{coord1}:] est une chaîne de caractères (entre double-quotes) consituée de deux coordonnées (lettre et chiffre). +\item[\meta{coord1}:] est une chaîne de caractères (entre double-quotes) constituée de deux coordonnées (lettre et chiffre). \end{description} L’exemple suivant permet d’illustrer l’utilisation de cette commande. @@ -900,7 +905,7 @@ suivante. \begin{description} \item[\meta{color}:] est une \lstinline+color+ \MP. -\item[\meta{coord1}:] est une chaîne de caractères (entre double-quotes) consituée de deux coordonnées (lettre et chiffre). +\item[\meta{coord1}:] est une chaîne de caractères (entre double-quotes) constituée de deux coordonnées (lettre et chiffre). \end{description} L’exemple suivant permet d’illustrer l’utilisation de cette commande. @@ -927,7 +932,7 @@ suivante. \begin{description} \item[\meta{color}:] est une \lstinline+color+ \MP. - \item[\meta{coord1}:] est une chaîne de caractères (entre double-quotes) consituée de deux coordonnées (lettre et chiffre). + \item[\meta{coord1}:] est une chaîne de caractères (entre double-quotes) constituée de deux coordonnées (lettre et chiffre). \end{description} L’exemple suivant permet d’illustrer l’utilisation de cette commande. @@ -953,7 +958,7 @@ endfig; \begin{description} \item[\meta{str}:] est une chaîne de caractères (entre double-quotes) à afficher. -\item[\meta{pos}:] est une chaîne de caractères (entre double-quotes) consituée +\item[\meta{pos}:] est une chaîne de caractères (entre double-quotes) constituée d’une coordonnée (lettre et chiffre). \end{description} @@ -980,7 +985,7 @@ suivante. \subsection{Lignes principales} -\mpchess fournit une commande permettant d’afficher les fléches des coups des +\mpchess fournit une commande permettant d’afficher les flèches des coups des lignes principales d’analyses. Il y a les commandes pour les deux couleurs. \commande|draw_white_main_lines(«move1»,«move2»,etc.)|\index{draw_white_main_lines@\lstinline+draw_white_main_lines+}\smallskip @@ -989,7 +994,7 @@ lignes principales d’analyses. Il y a les commandes pour les deux couleurs. \begin{description} \item[\meta{move1}, \meta{move2}, etc.:] sont les coups à illustrer par une -flêche, en suivant la notation de type \textsc{pgn}. +flèche, en suivant la notation de type \textsc{pgn}. \end{description} Lorsqu’on utilise la lecture de format \textsc{pgn} pour la construction des positions à afficher, on pourra alors utiliser les commandes suivantes @@ -1000,12 +1005,12 @@ permettant de spécifier quelle étape de la partie on commente. \commande|draw_black_main_lines_step(«step»)(«move1»,«move2»,etc.)|\index{draw_black_main_lines_step@\lstinline+draw_black_main_lines_step+}\smallskip \begin{description} - \item[\meta{step}:] est l’étape de la partie qu’on souhaite annonter; + \item[\meta{step}:] est l’étape de la partie qu’on souhaite annoter; \item[\meta{move1}, \meta{move2}, etc.:] sont les coups à illustrer par une -flêche, en suivant la notation de type \textsc{pgn}. +flèche, en suivant la notation de type \textsc{pgn}. \end{description} -L’exemple suivant permet d’illuster l’utilisation de cette commande. +L’exemple suivant permet d’illustrer l’utilisation de cette commande. \begin{ExempleMP} input mpchess @@ -1061,7 +1066,7 @@ choisie. \commande|show_possible_moves_step(«step»)(«square»)|\index{show_possible_moves_step@\lstinline+show_possible_moves_step+}\smallskip \begin{description} - \item[\meta{step}:] est l’étape de la partie qu’on souhaite annonter; + \item[\meta{step}:] est l’étape de la partie qu’on souhaite annoter; \item[\meta{square}:] est une chaîne de caractères indiquant au format classique les coordonnées de la case où la pièce se situe. \end{description} @@ -1099,7 +1104,7 @@ On pourra faire une découpe dans l’image de l’échiquier grâce à la comma \begin{description} \item[\meta{string}:] est une chaîne de caractères (entre double-quotes) -composée de deux coordonnées (lettre et chiffre) séparé par un tiret, par +composée de deux coordonnées (lettre et chiffre) séparées par un tiret, par exemple \lstinline+"a1-c6"+. \end{description} @@ -1167,7 +1172,7 @@ draw_arrows(red)("e7--e5","g1|-f3"); \subsubsection{Avec \package{gmp}} L’utilisation de \package{gmp}~\cite{ctan-gmp} est assez similaire à celle de -\package{mpgraphics}. Quelques commandes sont toute fois différentes, mais comme +\package{mpgraphics}. Quelques commandes sont toutefois différentes, mais comme avec \package{mpgraphics}, on n’aura pas recours à \lstinline+beginfig+ et \lstinline+endfig+. Le chargement de \mpchess peut se faire au chargement du package, et le code \MP{} se trouve dans l’environnement \lstinline+mpost+. Là @@ -1198,7 +1203,8 @@ Il est tout à fait possible d’utiliser \mpchess directement dans un fichier intégrante de \hologo{LuaTeX}.} et le package \package{luamplib}. C’est d’ailleurs ce qui est fait pour écrire cette documentation. -Il suffira alors de mettre le code \MP{} dans l’environnement \lstinline+mplibcode+. +Il suffira alors de mettre le code \MP{} dans l’environnement +\lstinline+mplibcode+ comme illustré plus bas. \mpchess utilise, pour certaines fonctionnalités, l’opérateur @@ -1240,6 +1246,47 @@ endfig; \end{mplibcode} \end{document} \end{latexcode} + +\subsection{Font TrueType} + +Le package \mpchess{} fournit une fonte très simple composé d’uniquement les 12 +glyphes correspondant aux pièces noires et blanches dans la table Unicode. Pour +y avoir accès il suffit d’utiliser \hologo{LuaLaTeX} ou \hologo{XeLaTeX} et le +package \package{fontspec}. Pour faciliter son utilisation, nous proposons +quelques définitions. + +\begin{latexcode} +\documentclass{article} +\usepackage{fontspec} +\newfontfamily{\chessfont}{mpchess font} +\newcommand\bP{{\chessfont \char"265F}} % black Pawn +\newcommand\bN{{\chessfont \char"265E}} % black Knight +\newcommand\bB{{\chessfont \char"265D}} % black Bishop +\newcommand\bR{{\chessfont \char"265C}} % black Rook +\newcommand\bQ{{\chessfont \char"265B}} % black Queen +\newcommand\bK{{\chessfont \char"265A}} % black King +\newcommand\wP{{\chessfont \char"2659}} % white Pawn +\newcommand\wN{{\chessfont \char"2658}} % white Knight +\newcommand\wB{{\chessfont \char"2657}} % white Bishop +\newcommand\wR{{\chessfont \char"2656}} % white Rook +\newcommand\wQ{{\chessfont \char"2655}} % white Queen +\newcommand\wK{{\chessfont \char"2654}} % white King + +\begin{document} + +Voici l'enchainement de coups : 1. e4 e5 2. \wB c4 d6 3. \wN f3 \bB g4 4. \wN +c3 g6 5. \wN xe5 \bB xd1. + +\end{document} +\end{latexcode} + +Qui produira : + +\og{}Voici l’enchainement de coups : 1. e4 e5 2. \wB c4 d6 3. \wN f3 \bB g4 +4. \wN c3 g6 5. \wN xe5 \bB xd1.\fg{} + + + \section{To do} De nombreuses choses sont à ajouter à \mpchess. Parmi celles-ci, on peut penser @@ -1279,6 +1326,9 @@ endfig; \section{Historique} \begin{description} +\item[v0.5, 20 avril 2023:] Correction d’un bug, \textbf{changement de +l’ensemble de pièce par défaut} pour l’ensemble \lstinline+mpchess+ (qui a été +ajouté à Lichess), ajout de la fonte TrueType, et mise à jour de la documentation. \item[v0.4, 6 avril 2023:] Corrections dans la documentation, notamment la version anglaise; ajout des commandes pour visualiser les mouvements possible pour une pièce (section~\ref{sec:possiblemoves}). diff --git a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-preamble.tex b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-preamble.tex index b2f165b018..89ac411f3b 100644 --- a/graphics/metapost/contrib/macros/mpchess/doc/mpchess-preamble.tex +++ b/graphics/metapost/contrib/macros/mpchess/doc/mpchess-preamble.tex @@ -10,6 +10,7 @@ \usepackage{biblatex} \addbibresource{ctan.bib} \usepackage{wrapfig} +\usepackage{accsupp} \usepackage{siunitx} \usepackage{imakeidx} %\usepackage{csquotes} @@ -132,7 +133,7 @@ arc=0pt, listing only,boxsep=0pt,listing options={style=tcblatex,language=sh}, - every listing line={\textcolor{red}{\small\ttfamily\bfseries user \$> }}} + every listing line={\BeginAccSupp{ActualText={}}\textcolor{red}{\small\ttfamily\bfseries user \$> }}\EndAccSupp{}} \newtcblisting{mpcode}{ @@ -162,4 +163,19 @@ } -\newcommand\pdf{\textsc{pdf}}
\ No newline at end of file +\newcommand\pdf{\textsc{pdf}} + + +\newfontfamily{\chessfont}{mpchess font} +\newcommand\bP{{\chessfont \char"265F}} % black Pawn +\newcommand\bN{{\chessfont \char"265E}} % black Knight +\newcommand\bB{{\chessfont \char"265D}} % black Bishop +\newcommand\bR{{\chessfont \char"265C}} % black Rook +\newcommand\bQ{{\chessfont \char"265B}} % black Queen +\newcommand\bK{{\chessfont \char"265A}} % black King +\newcommand\wP{{\chessfont \char"2659}} % white Pawn +\newcommand\wN{{\chessfont \char"2658}} % white Knight +\newcommand\wB{{\chessfont \char"2657}} % white Bishop +\newcommand\wR{{\chessfont \char"2656}} % white Rook +\newcommand\wQ{{\chessfont \char"2655}} % white Queen +\newcommand\wK{{\chessfont \char"2654}} % white King
\ No newline at end of file diff --git a/graphics/metapost/contrib/macros/mpchess/fonts/mpchessfont.ttf b/graphics/metapost/contrib/macros/mpchess/fonts/mpchessfont.ttf Binary files differnew file mode 100644 index 0000000000..11f0bef692 --- /dev/null +++ b/graphics/metapost/contrib/macros/mpchess/fonts/mpchessfont.ttf diff --git a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp index 9953776640..d156438506 100644 --- a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp +++ b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess-chessboard.mp @@ -242,7 +242,7 @@ vardef _queen_candidate(expr istart, jstart,iend,jend,wb)= boolean output; output = false; if((iend<=_chessSize) and (iend>=1) and (iend<=_chessSize) and (iend>=1)): - if((iend-istart) or (jend-jstart) or (abs(iend-istart)=abs(jend-jstart))): + if((iend=istart) or (jend=jstart) or (abs(iend-istart)=abs(jend-jstart))): output:=true; fi fi diff --git a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp index a900cd639a..0fc53bdf59 100644 --- a/graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp +++ b/graphics/metapost/contrib/macros/mpchess/metapost/mpchess.mp @@ -2,7 +2,7 @@ %% mpchess.mp %% %% draw chessboards with metapost %% %% chupin@ceremade.dauphine.fr %% -%% Version 0.4 (avril 2023) %% +%% Version 0.5 (avril 2023) %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % This work may be distributed and/or modified under the conditions of @@ -238,20 +238,20 @@ def set_black_color(expr c)= _blackColorSquare:=c; enddef; -_chess_bB:=_chess_cburnett_bB; -_chess_bK:=_chess_cburnett_bK; -_chess_bN:=_chess_cburnett_bN; -_chess_bP:=_chess_cburnett_bP; -_chess_bQ:=_chess_cburnett_bQ; -_chess_bR:=_chess_cburnett_bR; +_chess_bB:=_chess_mpchess_bB; +_chess_bK:=_chess_mpchess_bK; +_chess_bN:=_chess_mpchess_bN; +_chess_bP:=_chess_mpchess_bP; +_chess_bQ:=_chess_mpchess_bQ; +_chess_bR:=_chess_mpchess_bR; -_chess_wB:=_chess_cburnett_wB; -_chess_wK:=_chess_cburnett_wK; -_chess_wN:=_chess_cburnett_wN; -_chess_wP:=_chess_cburnett_wP; -_chess_wQ:=_chess_cburnett_wQ; -_chess_wR:=_chess_cburnett_wR; +_chess_wB:=_chess_mpchess_wB; +_chess_wK:=_chess_mpchess_wK; +_chess_wN:=_chess_mpchess_wN; +_chess_wP:=_chess_mpchess_wP; +_chess_wQ:=_chess_mpchess_wQ; +_chess_wR:=_chess_mpchess_wR; def set_pieces_theme(expr t)= if(t="mpchess"): |