%% $Id: pst-poker.sty 1121 2025-07-08 14:49:15Z herbert $
%%
% pst-poker.sty - LaTeX poker package
% Copyright (C) 2025 Herbert Voß <
[email protected]>
% poker2 is based on file poster.sty from
% Olaf Encke <
[email protected]> <
http://www.encke.net/>
%
% This program is free software: you can redistribute it and/or modify
% it under the terms of the GNU Lesser General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% This program 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. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU Lesser General Public License
% along with this program. If not, see <
http://www.gnu.org/licenses/>.
%
%%%
\NeedsTeXFormat{LaTeX2e}
%
%\RequirePackage{txfonts}
\RequirePackage{pstricks,pst-blur,multido}
\RequirePackage{graphicx}
\RequirePackage[tiling]{pst-fill}
\def\filedate{2025/07/09}
\def\fileversion{0.04a}
\ProvidesFile{pst-poker}[\filedate\ v\fileversion\ [LaTeX poker package (HV)]
% basic definitions
\pst@addfams{pst-poker}
%\newlength\xyunit
%\newlength\cprunit
\newcommand\pkr@val{A}
\newcommand\pkr@suit{\pspade}
\newcommand\pkr@col{\crd@Colors}
\newcommand\pkr@facecol{color}
\newcommand\pkr@suitname{spade}
\newcommand\pkr@shad{true}
\newcommand\pkr@shadblur{true}
%
% create layout definitions and set defaults
% card dimensions
\newcommand{\pkr@cxl}{-1.5}
\newcommand{\pkr@cxr}{1.5}
\newcommand{\pkr@cyt}{4.2}
\newcommand{\pkr@cyb}{0}
% inner frame dimensions
\newcommand{\pkr@fxl}{-0.75}
\newcommand{\pkr@fxr}{0.75}
\newcommand{\pkr@fyt}{3.45}
\newcommand{\pkr@fyb}{0.75}
% index sizes/positions
\newcommand{\pkr@ph}{0.6}
\newcommand{\pkr@pw}{0.6}
\newcommand{\pkr@pvh}{0.7}
\newcommand{\pkr@pvw}{0.6}
\newcommand{\pkr@pxl}{-1.125}
\newcommand{\pkr@pxr}{1.125}
\newcommand{\pkr@pytv}{3.35}
\newcommand{\pkr@pyts}{3.25}
\newcommand{\pkr@pybs}{0.95}
\newcommand{\pkr@pybv}{0.85}
% symbol sizes/positions
\newcommand{\pkr@sh}{0.4}
\newcommand{\pkr@sw}{0.4}
\newcommand{\pkr@sxl}{-0.4}
\newcommand{\pkr@sxm}{0}
\newcommand{\pkr@sxr}{0.4}
\newcommand{\pkr@syt}{2.95}
\newcommand{\pkr@sytiii}{2.6}
\newcommand{\pkr@sytii}{2.4}
\newcommand{\pkr@syti}{2.25}
\newcommand{\pkr@sym}{1.9}
\newcommand{\pkr@sybi}{1.95}
\newcommand{\pkr@sybii}{1.8}
\newcommand{\pkr@sybiii}{1.6}
\newcommand{\pkr@syb}{1.25}
% face symbol sizes/positions
\newcommand{\pkr@ish}{0.4}
\newcommand{\pkr@isw}{0.4}
\newcommand{\pkr@isxl}{-0.5}
\newcommand{\pkr@isxr}{0.5}
\newcommand{\pkr@isyt}{2.95}
\newcommand{\pkr@isyb}{1.25}
% face size/position
\newcommand{\pkr@ih}{2.4}
\newcommand{\pkr@iw}{1.5}
\newcommand{\pkr@iy}{0.9}
% peek symbol sizes/positions
\newcommand{\pkr@kh}{0.2}
\newcommand{\pkr@kw}{0.35}
\newcommand{\pkr@kxl}{-1.35}
\newcommand{\pkr@kxr}{1.35}
\newcommand{\pkr@kyt}{3.8}
\newcommand{\pkr@kyb}{0.4}
%
\providecommand\crdback[1][]{}
%
% color definitions
\colorlet{pkrwhite}{white}
\colorlet{pkrblack}{black}
\definecolor{pkrgray}{rgb}{0.4,0.4,0.4}
\definecolor{pkrlgray}{rgb}{0.9,0.9,0.9}
\definecolor{pkrddred}{rgb}{0.6,0,0}
\definecolor{pkrdred}{rgb}{0.8,0,0}
\definecolor{pkrdblue}{rgb}{0,0,0.6}
\definecolor{pkrlblue}{rgb}{0.3,0.3,1}
\definecolor{pkrllblue}{rgb}{0.9,0.95,1}
\definecolor{pkrdgreen}{rgb}{0.3,0.6,0.3}
\definecolor{pkrlgreen}{rgb}{0.7,0.9,0.7}
\definecolor{pkrorange}{rgb}{1,0.8,0.5}
\definecolor{pkrbeige}{rgb}{1,0.95,0.8}
\definecolor{pkrlyellow}{rgb}{1,1,0.75}
\colorlet{pkryellow}{pkrlyellow}
\colorlet{pkrred}{red}
\colorlet{pkrblue}{pkrllblue}
\colorlet{pkrgreen}{green}
%
% initialize color variables
\newcommand{\crd@Colors}{black}
\newcommand{\crd@Colorh}{pkrdred}
\newcommand{\crd@Colord}{pkrlblue}
\newcommand{\crd@Colorc}{pkrdgreen}
\newcommand{\colorbgname}{pkrbeige}
\newcommand\colorbackname{pkrblue}
%
% initialize suit variables
\@ifundefined{varclubsuit}{%
\def\re@DeclareMathSymbol#1#2#3#4{%
\let#1=\undefined
\DeclareMathSymbol{#1}{#2}{#3}{#4}}%
\DeclareSymbolFont{symbolsC}{U}{txsyc}{m}{n}%
\SetSymbolFont{symbolsC}{bold}{U}{txsyc}{bx}{n}%
\re@DeclareMathSymbol{\varclubsuit}{\mathord}{symbolsC}{112}%
\re@DeclareMathSymbol{\vardiamondsuit}{\mathord}{symbolsC}{113}%
\re@DeclareMathSymbol{\varheartsuit}{\mathord}{symbolsC}{114}%
\re@DeclareMathSymbol{\varspadesuit}{\mathord}{symbolsC}{115}%
}{}
\newcommand{\pspade}{\ensuremath{\spadesuit}}
\newcommand{\pheart}{\ensuremath{\varheartsuit}}
\newcommand{\pdiamond}{\ensuremath{\vardiamondsuit}}
\newcommand{\pclub}{\ensuremath{\clubsuit}}
%
% Options
% choose colorset
% 2c: black and red suits
% 4c: spade: black, heart: red, diamond: blue, club: green
% gs: grayscale the red suits
% bw: black/white only, red suits are outlined
%
\define@choicekey[psset]{pst-poker}{colorset}[\val\nr]{2c,4c,gs,bw}[2c]{%
\ifcase\nr\relax
\renewcommand{\crd@Colors}{black}%
\renewcommand{\crd@Colorh}{pkrdred}%
\renewcommand{\crd@Colord}{pkrdred}%
\renewcommand{\crd@Colorc}{black}%
\renewcommand{\pkr@facecol}{color}%
\renewcommand{\colorbgname}{pkrbeige}%
\renewcommand\colorbackname{pkrdblue}%
\renewcommand{\pheart}{\ensuremath{\varheartsuit}}%
\renewcommand{\pdiamond}{\ensuremath{\vardiamondsuit}}%
\or
\renewcommand{\crd@Colors}{black}%
\renewcommand{\crd@Colorh}{pkrdred}%
\renewcommand{\crd@Colord}{pkrlblue}%
\renewcommand{\crd@Colorc}{pkrdgreen}%
\renewcommand{\pkr@facecol}{color}%
\renewcommand{\colorbgname}{pkrbeige}%
\renewcommand\colorbackname{pkrdblue}%
\renewcommand{\pheart}{\ensuremath{\varheartsuit}}%
\renewcommand{\pdiamond}{\ensuremath{\vardiamondsuit}}%
\or
\renewcommand{\crd@Colors}{black}%
\renewcommand{\crd@Colorh}{pkrgray}%
\renewcommand{\crd@Colord}{pkrgray}%
\renewcommand{\crd@Colorc}{black}%
\renewcommand{\pkr@facecol}{color}%
\renewcommand{\colorbgname}{pkrlgray}%
\renewcommand\colorbackname{pkrgray}%
\renewcommand{\pheart}{\ensuremath{\varheartsuit}}%
\renewcommand{\pdiamond}{\ensuremath{\vardiamondsuit}}%
\or
\renewcommand{\crd@Colors}{black}%
\renewcommand{\crd@Colorh}{black}%
\renewcommand{\crd@Colord}{black}%
\renewcommand{\crd@Colorc}{black}%
\renewcommand{\pkr@facecol}{bw}%
\renewcommand{\colorbgname}{white}%
\renewcommand\colorbackname{black}%
\renewcommand{\pheart}{\ensuremath{\heartsuit}}%
\renewcommand{\pdiamond}{\ensuremath{\diamondsuit}}%
\fi
}%
% set width of big cards in cpr (cards per row)
\define@key[psset]{pst-poker}{unit}[1cm]{%
\pssetlength\psunit{#1}%
\psxunit=\psunit
\psyunit=\psunit
}%
% wrapper to be redefined by inline style key
\newcommand\pkr@icard[1][]{\pkr@drawisymbol{\pkr@val}{\pkr@suit}{\pkr@col}}
%
% \pkr@drawisymbol{value}{suit}{color}
\newcommand{\pkr@drawisymbol}[3]{\textcolor{#3}{\sffamily#1#2}\,}
% set style of inline cards
\define@choicekey[psset]{pst-poker}{inline}[\val\nr]{symbol,boxed,card}[symbol]{%
\ifcase\nr\relax
\renewcommand\pkr@icard{\pkr@drawisymbol{\pkr@val}{\pkr@suit}{\pkr@col}}%
\or
\renewcommand\pkr@icard{\pkr@drawiboxedsymbol{\pkr@val}{\pkr@suit}{\pkr@col}}%
\or
\renewcommand\pkr@icard{\pkr@drawicard{\pkr@val}{\pkr@suit}{\pkr@col}}%
\fi
}%
% set number of corners for indices
\define@choicekey[psset]{pst-poker}{corners}[\val\nr]{2,4}[4]{%
\ifcase\nr\relax
\pkr@restorelpips
\renewcommand{\pkr@drawrpips}{}%
\or
\pkr@restorelpips
\pkr@restorerpips
\fi
}%
% set peek indices
\define@choicekey[psset]{pst-poker}{peek}[\val\nr]{left,right,both}[r]{%
\ifcase\nr\relax
\pkr@setlpeek
\or
\pkr@setrpeek
\or
\pkr@setlpeek
\pkr@setrpeek
\fi
}%
% set frame background color, user defined color possible
\define@key[psset]{pst-poker}{framebg}[blue]{\def\colorbgname{pkr#1}}
%
% set frame background color, user defined color possible
\define@key[psset]{pst-poker}{backcolor}[red]{\@namedef{colorbackname}{pkr#1}}
%
% set card index size
\define@choicekey[psset]{pst-poker}{index}[\val\nr]{jumbo,regular}[regular]{%
\ifcase\nr\relax
\pkr@indexjumbo
\or
\pkr@indexregular
\fi
}
% set card shadow
\define@choicekey[psset]{pst-poker}{crdshadow}[\val\nr]{blurred,solid,none}[blurred]{%
\ifcase\nr\relax
\def\pkr@shad{true}%
\def\pkr@shadblur{true}%
\or
\def\pkr@shad{true}%
\def\pkr@shadblur{false}%
\or
\def\pkr@shad{false}%
\def\pkr@shadblur{false}%
\else
\def\pkr@shad{true}%
\def\pkr@shadblur{true}%
\fi
}%
% card backs
\define@choicekey[psset]{pst-poker}{back}[\val\nr]{simple,spades,suits,fournier}[suits]{%
\ifcase\nr\relax
\let\pkr@back\pkr@backsimple
\or
\let\pkr@back\pkr@backspades
\or
\let\pkr@back\pkr@backsuits
% \or%
% \let\pkr@back\pkr@backfournier
\fi
}%
% internal cardsuit processing keys
\define@choicekey[psset]{pst-poker}{cardsuit}[\val\nr]{spade,heart,diamond,club}{%
\ifcase\nr\relax%
\renewcommand{\pkr@suitname}{spade}%
\renewcommand{\pkr@suit}{\pspade}%
\renewcommand{\pkr@col}{\crd@Colors}%
\or%
\renewcommand{\pkr@suitname}{heart}%
\renewcommand{\pkr@suit}{\pheart}%
\renewcommand{\pkr@col}{\crd@Colorh}%
\or%
\renewcommand{\pkr@suitname}{diamond}%
\renewcommand{\pkr@suit}{\pdiamond}%
\renewcommand{\pkr@col}{\crd@Colord}%
\or%
\renewcommand{\pkr@suitname}{club}%
\renewcommand{\pkr@suit}{\pclub}%
\renewcommand{\pkr@col}{\crd@Colorc}%
\fi%
}%
% internal cardvalue processing
\define@choicekey[psset]{pst-poker}{cardvalue}[\val\nr]{A,K,Q,J,10,9,8,7,6,5,4,3,2}{%
\ifcase\nr\relax
\renewcommand{\pkr@val}{#1}%
\renewcommand{\pkr@drawsymbols}{\pkr@Asymbols}%
\or
\renewcommand{\pkr@val}{#1}%
\renewcommand{\pkr@drawsymbols}{\pkr@Ksymbols}%
\or
\renewcommand{\pkr@val}{#1}%
\renewcommand{\pkr@drawsymbols}{\pkr@Qsymbols}%
\or
\renewcommand{\pkr@val}{#1}%
\renewcommand{\pkr@drawsymbols}{\pkr@Jsymbols}%
\or
\renewcommand{\pkr@val}{#1}%
\renewcommand{\pkr@drawsymbols}{\pkr@tensymbols}%
\or
\renewcommand{\pkr@val}{#1}%
\renewcommand{\pkr@drawsymbols}{\pkr@ninesymbols}%
\or
\renewcommand{\pkr@val}{#1}%
\renewcommand{\pkr@drawsymbols}{\pkr@eigsymbols}%
\or
\renewcommand\pkr@val{#1}%
\renewcommand\pkr@drawsymbols{\pkr@sevsymbols}%
\or
\renewcommand{\pkr@val}{#1}%
\renewcommand{\pkr@drawsymbols}{\pkr@sixsymbols}%
\or
\renewcommand{\pkr@val}{#1}%
\renewcommand{\pkr@drawsymbols}{\pkr@fivesymbols}%
\or
\renewcommand{\pkr@val}{#1}%
\renewcommand{\pkr@drawsymbols}{\pkr@foursymbols}%
\or
\renewcommand{\pkr@val}{#1}%
\renewcommand{\pkr@drawsymbols}{\pkr@tresymbols}%
\or
\renewcommand{\pkr@val}{#1}%
\renewcommand{\pkr@drawsymbols}{\pkr@twosymbols}%
\fi
}%
% Produce warning for unknown options
%
% define inline symbols
\newcommand\As{\icard{A}{\pspade}{\crd@Colors}}%
\newcommand\Ah{\icard{A}{\pheart}{\crd@Colorh}}%
\newcommand{\Ad}{\icard{A}{\pdiamond}{\crd@Colord}}%
\newcommand\Ac{\icard{A}{\pclub}{\crd@Colorc}}%
\newcommand{\Ks}{\icard{K}{\pspade}{\crd@Colors}}%
\newcommand{\Kh}{\icard{K}{\pheart}{\crd@Colorh}}%
\newcommand{\Kd}{\icard{K}{\pdiamond}{\crd@Colord}}%
\newcommand{\Kc}{\icard{K}{\pclub}{\crd@Colorc}}%
\newcommand{\Qs}{\icard{Q}{\pspade}{\crd@Colors}}%
\newcommand{\Qh}{\icard{Q}{\pheart}{\crd@Colorh}}%
\newcommand{\Qd}{\icard{Q}{\pdiamond}{\crd@Colord}}%
\newcommand{\Qc}{\icard{Q}{\pclub}{\crd@Colorc}}%
\newcommand{\Js}{\icard{J}{\pspade}{\crd@Colors}}%
\newcommand{\Jh}{\icard{J}{\pheart}{\crd@Colorh}}%
\newcommand{\Jd}{\icard{J}{\pdiamond}{\crd@Colord}}%
\newcommand{\Jc}{\icard{J}{\pclub}{\crd@Colorc}}%
\newcommand{\tens}{\icard{10}{\pspade}{\crd@Colors}}%
\newcommand{\tenh}{\icard{10}{\pheart}{\crd@Colorh}}%
\newcommand{\tend}{\icard{10}{\pdiamond}{\crd@Colord}}%
\newcommand{\tenc}{\icard{10}{\pclub}{\crd@Colorc}}%
\newcommand{\nines}{\icard{9}{\pspade}{\crd@Colors}}%
\newcommand{\nineh}{\icard{9}{\pheart}{\crd@Colorh}}%
\newcommand{\nined}{\icard{9}{\pdiamond}{\crd@Colord}}%
\newcommand{\ninec}{\icard{9}{\pclub}{\crd@Colorc}}%
\newcommand{\eigs}{\icard{8}{\pspade}{\crd@Colors}}%
\newcommand{\eigh}{\icard{8}{\pheart}{\crd@Colorh}}%
\newcommand{\eigd}{\icard{8}{\pdiamond}{\crd@Colord}}%
\newcommand{\eigc}{\icard{8}{\pclub}{\crd@Colorc}}%
\newcommand{\sevs}{\icard{7}{\pspade}{\crd@Colors}}%
\newcommand{\sevh}{\icard{7}{\pheart}{\crd@Colorh}}%
\newcommand{\sevd}{\icard{7}{\pdiamond}{\crd@Colord}}%
\newcommand{\sevc}{\icard{7}{\pclub}{\crd@Colorc}}%
\newcommand{\sixs}{\icard{6}{\pspade}{\crd@Colors}}%
\newcommand{\sixh}{\icard{6}{\pheart}{\crd@Colorh}}%
\newcommand{\sixd}{\icard{6}{\pdiamond}{\crd@Colord}}%
\newcommand{\sixc}{\icard{6}{\pclub}{\crd@Colorc}}%
\newcommand{\fives}{\icard{5}{\pspade}{\crd@Colors}}%
\newcommand{\fiveh}{\icard{5}{\pheart}{\crd@Colorh}}%
\newcommand{\fived}{\icard{5}{\pdiamond}{\crd@Colord}}%
\newcommand{\fivec}{\icard{5}{\pclub}{\crd@Colorc}}%
\newcommand{\fours}{\icard{4}{\pspade}{\crd@Colors}}%
\newcommand{\fourh}{\icard{4}{\pheart}{\crd@Colorh}}%
\newcommand{\fourd}{\icard{4}{\pdiamond}{\crd@Colord}}%
\newcommand{\fourc}{\icard{4}{\pclub}{\crd@Colorc}}%
\newcommand{\tres}{\icard{3}{\pspade}{\crd@Colors}}%
\newcommand{\treh}{\icard{3}{\pheart}{\crd@Colorh}}%
\newcommand{\tred}{\icard{3}{\pdiamond}{\crd@Colord}}%
\newcommand{\trec}{\icard{3}{\pclub}{\crd@Colorc}}%
\newcommand{\twos}{\icard{2}{\pspade}{\crd@Colors}}%
\newcommand{\twoh}{\icard{2}{\pheart}{\crd@Colorh}}%
\newcommand{\twod}{\icard{2}{\pdiamond}{\crd@Colord}}%
\newcommand{\twoc}{\icard{2}{\pclub}{\crd@Colorc}}%
%
\renewcommand\crdback[1][]{\pkr@ibackframe[#1]}
%
% universal inline command
%
\newcommand\icard[3]{%
\renewcommand\pkr@val{#1}%
\renewcommand\pkr@suit{#2}%
\renewcommand\pkr@col{#3}%
\pkr@icard
}%
% \pkr@drawiboxedsymbol{value}{suit}{color}
\newcommand\pkr@drawiboxedsymbol[3]{\psframebox[linewidth=0.4pt,framearc=0.25]{\textcolor{#3}{\sffamily #1 #2}\,}}
%
% \pkr@drawicard{value}{suit}{color}
\newcommand{\pkr@drawicard}[3]{{%
\psset{unit=0.5ex}%
\pspicture(-1.7,1)(1.7,4.4)
\pkr@drawicardframe
\pkr@drawipips{#1}{#2}{#3}%
\endpspicture}%
}%
% draw inline card frame
\newcommand\pkr@drawicardframe{\psframe[linewidth=0.4pt,framearc=0.25](-1.5,0)(1.5,4.2)}
%
% draw inline indices
% \drawipips{value}{suit}{color}
\newcommand{\pkr@drawipips}[3]{%
\rput[b](-0.4,2.2){\psscaleboxto(1.7,1.7){\textcolor{#3}{\sffamily #1}}}%
\rput[t](.4,2.0){\psscaleboxto(1.7,1.7){\textcolor{#3}{\sffamily #2}}}%
}%
%
\newcommand\pkr@iback[1][]{\pkr@drawibackframe[#1]}
\newcommand\pkr@drawibackframe[1][]{%
\psframe[linewidth=0.1pt,
hatchangle=45,
hatchsep=0.5,
hatchwidth=0.25,
fillstyle=crosshatch,
linecolor=black,
hatchcolor=\colorbackname,
framearc=0.25,#1](-1.5,0)(1.5,4.2)%
}%
%
% big cards
\newcommand\crdAs[1][]{\drawcard[cardvalue=A,cardsuit=spade,inline=card,#1]}%
\newcommand\crdAh[1][]{\drawcard[cardvalue=A,cardsuit=heart,#1]}%
\newcommand\crdAd[1][]{\drawcard[cardvalue=A,cardsuit=diamond,#1]}%
\newcommand\crdAc[1][]{\drawcard[cardvalue=A,cardsuit=club,#1]}%
\newcommand\crdKs[1][]{\psset[pst-poker]{cardvalue=K,cardsuit=spade}\drawcard}%
\newcommand\crdKh[1][]{\psset[pst-poker]{cardvalue=K,cardsuit=heart}\drawcard[#1]}%
\newcommand\crdKd[1][]{\psset[pst-poker]{cardvalue=K,cardsuit=diamond}\drawcard[#1]}%
\newcommand\crdKc[1][]{\psset[pst-poker]{cardvalue=K,cardsuit=club}\drawcard[#1]}%
\newcommand\crdQs[1][]{\psset[pst-poker]{cardvalue=Q,cardsuit=spade}\drawcard[#1]}%
\newcommand\crdQh[1][]{\psset[pst-poker]{cardvalue=Q,cardsuit=heart}\drawcard[#1]}%
\newcommand\crdQd[1][]{\psset[pst-poker]{cardvalue=Q,cardsuit=diamond}\drawcard[#1]}%
\newcommand\crdQc[1][]{\psset[pst-poker]{cardvalue=Q,cardsuit=club}\drawcard[#1]}%
\newcommand\crdJs[1][]{\psset[pst-poker]{cardvalue=J,cardsuit=spade}\drawcard[#1]}%
\newcommand\crdJh[1][]{\psset[pst-poker]{cardvalue=J,cardsuit=heart}\drawcard[#1]}%
\newcommand\crdJd[1][]{\psset[pst-poker]{cardvalue=J,cardsuit=diamond}\drawcard[#1]}%
\newcommand\crdJc[1][]{\psset[pst-poker]{cardvalue=J,cardsuit=club}\drawcard[#1]}%
\newcommand\crdtens[1][]{\psset[pst-poker]{cardvalue=10,cardsuit=spade}\drawcard[#1]}%
\newcommand\crdtenh[1][]{\psset[pst-poker]{cardvalue=10,cardsuit=heart,#1}\drawcard[#1]}%
\newcommand\crdtend[1][]{\psset[pst-poker]{cardvalue=10,cardsuit=diamond}\drawcard[#1]}%
\newcommand\crdtenc[1][]{\psset[pst-poker]{cardvalue=10,cardsuit=club}\drawcard[#1]}%
\newcommand\crdnines[1][]{\psset[pst-poker]{cardvalue=9,cardsuit=spade}\drawcard[#1]}%
\newcommand\crdnineh[1][]{\psset[pst-poker]{cardvalue=9,cardsuit=heart}\drawcard[#1]}%
\newcommand\crdnined[1][]{\psset[pst-poker]{cardvalue=9,cardsuit=diamond}\drawcard[#1]}%
\newcommand\crdninec[1][]{\psset[pst-poker]{cardvalue=9,cardsuit=club}\drawcard[#1]}%
\newcommand\crdeigs[1][]{\psset[pst-poker]{cardvalue=8,cardsuit=spade}\drawcard[#1]}%
\newcommand\crdeigh[1][]{\psset[pst-poker]{cardvalue=8,cardsuit=heart}\drawcard[#1]}%
\newcommand\crdeigd[1][]{\psset[pst-poker]{cardvalue=8,cardsuit=diamond}\drawcard[#1]}%
\newcommand\crdeigc[1][]{\psset[pst-poker]{cardvalue=8,cardsuit=club}\drawcard[#1]}%
\newcommand\crdsevs[1][]{\psset[pst-poker]{cardvalue=7,cardsuit=spade}\drawcard[#1]}%
\newcommand\crdsevh[1][]{\psset[pst-poker]{cardvalue=7,cardsuit=heart}\drawcard[#1]}%
\newcommand\crdsevd[1][]{\drawcard[cardvalue=7,cardsuit=diamond,#1]}%
\newcommand\crdsevc[1][]{\psset[pst-poker]{cardvalue=7,cardsuit=club}\drawcard[#1]}%
\newcommand\crdsixs[1][]{\psset[pst-poker]{cardvalue=6,cardsuit=spade}\drawcard[#1]}%
\newcommand\crdsixh[1][]{\psset[pst-poker]{cardvalue=6,cardsuit=heart}\drawcard[#1]}%
\newcommand\crdsixd[1][]{\psset[pst-poker]{cardvalue=6,cardsuit=diamond}\drawcard[#1]}%
\newcommand\crdsixc[1][]{\psset[pst-poker]{cardvalue=6,cardsuit=club}\drawcard[#1]}%
\newcommand\crdfives[1][]{\psset[pst-poker]{cardvalue=5,cardsuit=spade}\drawcard[#1]}%
\newcommand\crdfiveh[1][]{\psset[pst-poker]{cardvalue=5,cardsuit=heart}\drawcard[#1]}%
\newcommand\crdfived[1][]{\psset[pst-poker]{cardvalue=5,cardsuit=diamond}\drawcard[#1]}%
\newcommand\crdfivec[1][]{\psset[pst-poker]{cardvalue=5,cardsuit=club}\drawcard[#1]}%
\newcommand\crdfours[1][]{\psset[pst-poker]{cardvalue=4,cardsuit=spade}\drawcard[#1]}%
\newcommand\crdfourh[1][]{\psset[pst-poker]{cardvalue=4,cardsuit=heart}\drawcard[#1]}%
\newcommand\crdfourd[1][]{\psset[pst-poker]{cardvalue=4,cardsuit=diamond}\drawcard[#1]}%
\newcommand\crdfourc[1][]{\psset[pst-poker]{cardvalue=4,cardsuit=club}\drawcard[#1]}%
\newcommand\crdtres[1][]{\psset[pst-poker]{cardvalue=3,cardsuit=spade}\drawcard[#1]}%
\newcommand\crdtreh[1][]{\psset[pst-poker]{cardvalue=3,cardsuit=heart}\drawcard[#1]}%
\newcommand\crdtred[1][]{\psset[pst-poker]{cardvalue=3,cardsuit=diamond}\drawcard[#1]}%
\newcommand\crdtrec[1][]{\psset[pst-poker]{cardvalue=3,cardsuit=club}\drawcard[#1]}%
\newcommand\crdtwos[1][]{\psset[pst-poker]{cardvalue=2,cardsuit=spade}\drawcard[#1]}%
\newcommand\crdtwoh[1][]{\psset[pst-poker]{cardvalue=2,cardsuit=heart}\drawcard[#1]}%
\newcommand\crdtwod[1][]{\psset[pst-poker]{cardvalue=2,cardsuit=diamond}\drawcard[#1]}%
\newcommand\crdtwoc[1][]{\psset[pst-poker]{cardvalue=2,cardsuit=club}\drawcard[#1]}%
\renewcommand\crdback[1][]{\pkr@drawback[#1]}%
%
% universal card command
% \drawcard{value}{suit}{color}
%
\newcommand\drawcard[1][]{{%
\ifx\relax#1\relax\else\psset{#1}\fi
\pspicture(-1.7,0)(1.7,4.4)
\pkr@drawcardframe
\pkr@drawlpips
\pkr@drawrpips
\pkr@drawsymframe
\pkr@drawsymbols
\endpspicture}}
%
% draw frame of card
\newcommand\pkr@drawcardframe{%
\psframe[linewidth=0.3pt,
fillstyle=solid,
fillcolor=white,
shadow=\pkr@shad,
blur=\pkr@shadblur,
framearc=0.1
](\pkr@cxl,\pkr@cyb)(\pkr@cxr,\pkr@cyt)%
}%
% draw left indices
% \pkr@drawlpips
\newcommand\pkr@drawlpips{%
\rput[b](\pkr@pxl,\pkr@pytv){\psscaleboxto(\pkr@pvw,\pkr@pvh){\textcolor{\pkr@col}{\sffamily\pkr@val}}}%
\rput[t](\pkr@pxl,\pkr@pyts){\psscaleboxto(\pkr@pw,\pkr@ph){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[t]{180}(\pkr@pxr,\pkr@pybs){\psscaleboxto(\pkr@pw,\pkr@ph){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@pxr,\pkr@pybv){\psscaleboxto(\pkr@pvw,\pkr@pvh){\textcolor{\pkr@col}{\sffamily \pkr@val}}}%
}%
% restore command used by corners key
\newcommand\pkr@restorelpips{%
\renewcommand{\pkr@drawlpips}{%
\rput[b](\pkr@pxl,\pkr@pytv){\psscaleboxto(\pkr@pvw,\pkr@pvh){\textcolor{\pkr@col}{\sffamily \pkr@val}}}%
\rput[t](\pkr@pxl,\pkr@pyts){\psscaleboxto(\pkr@pw,\pkr@ph){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[t]{180}(\pkr@pxr,\pkr@pybs){\psscaleboxto(\pkr@pw,\pkr@ph){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@pxr,\pkr@pybv){\psscaleboxto(\pkr@pvw,\pkr@pvh){\textcolor{\pkr@col}{\sffamily \pkr@val}}}%
}%
}%
% index modify command used by peek key
\newcommand{\pkr@setlpeek}{%
\renewcommand{\pkr@drawlpips}{%
\rput[l]{45}(\pkr@kxl,\pkr@kyt){\psscaleboxto(\pkr@kw,\pkr@kh){\textcolor{\pkr@col}{\sffamily \pkr@val\pkr@suit}}}%
\rput[l]{-135}(\pkr@kxr,\pkr@kyb){\psscaleboxto(\pkr@kw,\pkr@kh){\textcolor{\pkr@col}{\sffamily \pkr@val\pkr@suit}}}%
}%
}%
% draw right indices
% \pkr@drawrpips
\newcommand{\pkr@drawrpips}{%
\rput[b](\pkr@pxr,\pkr@pytv){\psscaleboxto(\pkr@pvw,\pkr@pvh){\textcolor{\pkr@col}{\sffamily \pkr@val}}}%
\rput[t](\pkr@pxr,\pkr@pyts){\psscaleboxto(\pkr@pw,\pkr@ph){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[t]{180}(\pkr@pxl,\pkr@pybs){\psscaleboxto(\pkr@pw,\pkr@ph){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@pxl,\pkr@pybv){\psscaleboxto(\pkr@pvw,\pkr@pvh){\textcolor{\pkr@col}{\sffamily \pkr@val}}}%
}%
% restore command used by corners key
\newcommand{\pkr@restorerpips}{%
\renewcommand{\pkr@drawrpips}{%
\rput[b](\pkr@pxr,\pkr@pytv){\psscaleboxto(\pkr@pvw,\pkr@pvh){\textcolor{\pkr@col}{\sffamily \pkr@val}}}%
\rput[t](\pkr@pxr,\pkr@pyts){\psscaleboxto(\pkr@pw,\pkr@ph){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[t]{180}(\pkr@pxl,\pkr@pybs){\psscaleboxto(\pkr@pw,\pkr@ph){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@pxl,\pkr@pybv){\psscaleboxto(\pkr@pvw,\pkr@pvh){\textcolor{\pkr@col}{\sffamily \pkr@val}}}%
}%
}%
% index modify command used by peek key
\newcommand{\pkr@setrpeek}{%
\renewcommand{\pkr@drawrpips}{%
\rput[r]{-45}(\pkr@kxr,\pkr@kyt){\psscaleboxto(\pkr@kw,\pkr@kh){\textcolor{\pkr@col}{\sffamily \pkr@val\pkr@suit}}}%
\rput[r]{135}(\pkr@kxl,\pkr@kyb){\psscaleboxto(\pkr@kw,\pkr@kh){\textcolor{\pkr@col}{\sffamily \pkr@val\pkr@suit}}}%
}%
}%
% draw inner frame
\newcommand{\pkr@drawsymframe}{%
\psframe[linewidth=0.2pt,
fillstyle=solid,
fillcolor=\colorbgname
] (\pkr@fxl,\pkr@fyb)(\pkr@fxr,\pkr@fyt)%
}%
% draw center symbols and faces
% wrapper to be redefined by internal cardvalue key
\newcommand\pkr@drawsymbols{\pkr@Asymbols}
%
% center symbols
% A
\newcommand\pkr@Asymbols{%
\rput[b](\pkr@sxm,\pkr@sym){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily\pkr@suit}}}%
}%
% K
\newcommand{\pkr@Ksymbols}{%
\psframe[linewidth=0.2pt,%
fillstyle=solid,%
fillcolor=white%
] (\pkr@fxl,\pkr@fyb)(\pkr@fxr,\pkr@fyt)%
\rput[b](\pkr@isxl,\pkr@isyt){\psscaleboxto(\pkr@isw,\pkr@ish){\textcolor{\pkr@col}{\sffamily\pkr@suit}}}%
\rput[b]{180}(\pkr@isxr,\pkr@isyb){\psscaleboxto(\pkr@isw,\pkr@ish){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxm,\pkr@iy){\psscaleboxto(\pkr@iw,\pkr@ih){\includegraphics{King-\pkr@suitname-\pkr@facecol}}}%
}%
% Q
\newcommand{\pkr@Qsymbols}{%
\psframe[linewidth=0.2pt,%
fillstyle=solid,%
fillcolor=white%
] (\pkr@fxl,\pkr@fyb)(\pkr@fxr,\pkr@fyt)%
\rput[b](\pkr@isxl,\pkr@isyt){\psscaleboxto(\pkr@isw,\pkr@ish){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@isxr,\pkr@isyb){\psscaleboxto(\pkr@isw,\pkr@ish){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxm,\pkr@iy){\psscaleboxto(\pkr@iw,\pkr@ih){\includegraphics{Queen-\pkr@suitname-\pkr@facecol}}}%
}%
% J
\newcommand{\pkr@Jsymbols}{%
\psframe[linewidth=0.2pt,%
fillstyle=solid,%
fillcolor=white%
] (\pkr@fxl,\pkr@fyb)(\pkr@fxr,\pkr@fyt)%
\rput[b](\pkr@isxl,\pkr@isyt){\psscaleboxto(\pkr@isw,\pkr@ish){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@isxr,\pkr@isyb){\psscaleboxto(\pkr@isw,\pkr@ish){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxm,\pkr@iy){\psscaleboxto(\pkr@iw,\pkr@ih){\includegraphics{Jack-\pkr@suitname-\pkr@facecol}}}%
}%
% 10
\newcommand{\pkr@tensymbols}{%
\rput[b](\pkr@sxl,\pkr@syt){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxl,\pkr@syti){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxl,\pkr@sybi){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxl,\pkr@syb){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxr,\pkr@syt){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxr,\pkr@syti){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxr,\pkr@sybi){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxr,\pkr@syb){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxm,\pkr@sytiii){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxm,\pkr@sybiii){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
}%
% 9
\newcommand{\pkr@ninesymbols}{%
\rput[b](\pkr@sxl,\pkr@syt){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxl,\pkr@syti){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxl,\pkr@sybi){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxl,\pkr@syb){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxr,\pkr@syt){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxr,\pkr@syti){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxr,\pkr@sybi){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxr,\pkr@syb){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxm,\pkr@sym){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
}%
% 8
\newcommand{\pkr@eigsymbols}{%
\rput[b](\pkr@sxl,\pkr@syt){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxl,\pkr@sym){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxl,\pkr@syb){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxr,\pkr@syt){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxr,\pkr@sym){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxr,\pkr@syb){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxm,\pkr@sytii){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxm,\pkr@sybii){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
}%
% 7
\newcommand\pkr@sevsymbols{%
\rput[b](\pkr@sxl,\pkr@syt){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxl,\pkr@sym){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxl,\pkr@syb){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxr,\pkr@syt){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxr,\pkr@sym){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxr,\pkr@syb){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxm,\pkr@sytii){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
}%
% 6
\newcommand{\pkr@sixsymbols}{%
\rput[b](\pkr@sxl,\pkr@syt){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxl,\pkr@sym){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxl,\pkr@syb){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxr,\pkr@syt){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxr,\pkr@sym){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxr,\pkr@syb){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
}%
% 5
\newcommand{\pkr@fivesymbols}{%
\rput[b](\pkr@sxl,\pkr@syt){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxl,\pkr@syb){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxr,\pkr@syt){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxr,\pkr@syb){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxm,\pkr@sym){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
}%
% 4
\newcommand{\pkr@foursymbols}{%
\rput[b](\pkr@sxl,\pkr@syt){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxl,\pkr@syb){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxr,\pkr@syt){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxr,\pkr@syb){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
}%
% 3
\newcommand{\pkr@tresymbols}{%
\rput[b](\pkr@sxm,\pkr@syt){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b](\pkr@sxm,\pkr@sym){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxm,\pkr@syb){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
}%
% 2
\newcommand{\pkr@twosymbols}{%
\rput[b](\pkr@sxm,\pkr@syt){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
\rput[b]{180}(\pkr@sxm,\pkr@syb){\psscaleboxto(\pkr@sw,\pkr@sh){\textcolor{\pkr@col}{\sffamily \pkr@suit}}}%
}%
%
% draw back cards
\newcommand\pkr@drawback[1][]{{%
\ifx\relax#1\relax\else\psset{#1}\fi
\pspicture(-1.7,0)(1.7,4.4)\pkr@back\endpspicture}}
%
% wrapper to be redefined by back key
\let\pkr@back\pkr@backsimple
%
% back style simple
\newcommand\pkr@backsimple{%
\psframe[linewidth=0.3pt,
shadow=\pkr@shad,
blur=\pkr@shadblur,
fillstyle=crosshatch*,
hatchangle=45,
hatchsep=0.1,
hatchwidth=0.02,
fillcolor=\colorbackname,
hatchcolor=white,
framearc=0.1
](\pkr@cxl,\pkr@cyb)(\pkr@cxr,\pkr@cyt)%
}%
% back style suits
\newcommand{\pkr@backsuits}{%
\psframe[linewidth=0.3pt,
fillstyle=solid,
fillcolor=white,
backcolor=red,
shadow=\pkr@shad,
blur=\pkr@shadblur,
framearc=0.1%
](\pkr@cxl,\pkr@cyb)(\pkr@cxr,\pkr@cyt)%
\psframe[linewidth=0.3pt,
hatchangle=45,
hatchsep=0.08,
hatchwidth=0.04,
linecolor=\colorbackname,
hatchcolor=\colorbackname
](-1.25,0.25)(1.25,3.95)
\psellipse[linewidth=0.2pt,%
fillstyle=solid,%
linecolor=\colorbackname,%
fillcolor=white%
](0,3.1)(1,0.5)
\psellipse[linewidth=0.2pt,%
fillstyle=solid,%
linecolor=\colorbackname,%
fillcolor=white%
](0,1.1)(1,0.5)
\rput[b](0,2.9){\psscaleboxto(1.6,0.4){\sffamily
\textcolor{\crd@Colors}{\pspade}\textcolor{\crd@Colord}{\pdiamond}%
\textcolor{\crd@Colorc}{\pclub}\textcolor{\crd@Colorh}{\pheart}}}%
\rput[b]{180}(0,1.3){\psscaleboxto(1.6,0.4){\sffamily
\textcolor{\crd@Colors}{\pspade}\textcolor{\crd@Colord}{\pdiamond}%
\textcolor{\crd@Colorc}{\pclub}\textcolor{\crd@Colorh}{\pheart}}}%
}%
% back style spades
\newcommand\pkr@spade{%
\psscaleboxto(0.2,0.2){\textcolor{\colorbackname}{\sffamily\pspade}}%
}%
%
\newcommand\pkr@backspades{%
\psboxfill{\pkr@spade}%
% \begin{pspicture}(\pkr@cxl,\pkr@cyb)(\pkr@cxr,\pkr@cyt)%
\psframe[linewidth=0.3pt,%
shadow=\pkr@shad,%
blur=\pkr@shadblur,%
fillstyle=boxfill,%
fillcycley=2,%
fillloopaddx=8,%
%PstDebug=1,%
fillcolor=white,%
%fillsize={(\pkr@cxl,\pkr@cyb)(\pkr@cxr,\pkr@cyt)},%
framearc=0.1,%
](\pkr@cxl,\pkr@cyb)(\pkr@cxr,\pkr@cyt)%
% \end{pspicture}%
}%
% back style fournier
\newcommand\fournier{%
\begin{pspicture}(0,0)(0.28,0.28)%
\rput[bl]{36.9}(0.06,0){\psframe[linewidth=0.3pt,linecolor=\colorbackname](0,0)(0.1,0.1)}%
\rput[bl]{-126.9}(0.06,0.28){\psframe[linewidth=0.3pt,linecolor=\colorbackname](0,0)(0.1,0.1)}%
\rput[bl]{53.1}(0.22,0){\psframe[linewidth=0.3pt,linecolor=\colorbackname](0,0)(0.1,0.1)}%
\rput[bl]{216.9}(0.22,0.28){\psframe[linewidth=0.3pt,linecolor=\colorbackname](0,0)(0.1,0.1)}%
\end{pspicture}
}%
\newcommand\pkr@backfournier{%
\psboxfill{\fournier}%
\psframe[linewidth=0.3pt,%
shadow=\pkr@shad,%
blur=\pkr@shadblur,%
fillstyle=boxfill,%
fillcolor=white,%
hatchcolor=\colorbackname,%
PstDebug=1,%
framearc=0.1%
](\pkr@cxl,\pkr@cyb)(\pkr@cxr,\pkr@cyt)%
}%
% define layout measurements
% poker sized jumbo index
\newcommand{\pkr@indexjumbo}{%
\renewcommand{\pkr@cxl}{-1.5}%
\renewcommand{\pkr@cxr}{1.5}%
\renewcommand{\pkr@cyt}{4.2}%
\renewcommand{\pkr@cyb}{0}%
\renewcommand{\pkr@fxl}{-0.75}%
\renewcommand{\pkr@fxr}{0.75}%
\renewcommand{\pkr@fyt}{3.45}%
\renewcommand{\pkr@fyb}{0.75}%
\renewcommand{\pkr@ph}{0.6}%
\renewcommand{\pkr@pw}{0.6}%
\renewcommand{\pkr@pvh}{0.7}%
\renewcommand{\pkr@pvw}{0.6}%
\renewcommand{\pkr@pxl}{-1.125}%
\renewcommand{\pkr@pxr}{1.125}%
\renewcommand{\pkr@pytv}{3.35}%
\renewcommand{\pkr@pyts}{3.25}%
\renewcommand{\pkr@pybs}{0.95}%
\renewcommand{\pkr@pybv}{0.85}%
\renewcommand{\pkr@sh}{0.4}%
\renewcommand{\pkr@sw}{0.4}%
\renewcommand{\pkr@sxl}{-0.4}%
\renewcommand{\pkr@sxm}{0}%
\renewcommand{\pkr@sxr}{0.4}%
\renewcommand{\pkr@syt}{2.95}%
\renewcommand{\pkr@sytiii}{2.6}%
\renewcommand{\pkr@sytii}{2.4}%
\renewcommand{\pkr@syti}{2.25}%
\renewcommand{\pkr@sym}{1.9}%
\renewcommand{\pkr@sybi}{1.95}%
\renewcommand{\pkr@sybii}{1.8}%
\renewcommand{\pkr@sybiii}{1.6}%
\renewcommand{\pkr@syb}{1.25}%
\renewcommand{\pkr@ish}{0.4}%
\renewcommand{\pkr@isw}{0.4}%
\renewcommand{\pkr@isxl}{-0.55}%
\renewcommand{\pkr@isxr}{0.55}%
\renewcommand{\pkr@isyt}{2.95}%
\renewcommand{\pkr@isyb}{1.25}%
\renewcommand{\pkr@ih}{2.4}%
\renewcommand{\pkr@iw}{1.5}%
\renewcommand{\pkr@iy}{0.9}%
\renewcommand{\pkr@kh}{0.2}%
\renewcommand{\pkr@kw}{0.35}%
\renewcommand{\pkr@kxl}{-1.35}%
\renewcommand{\pkr@kxr}{1.35}%
\renewcommand{\pkr@kyt}{3.8}%
\renewcommand{\pkr@kyb}{0.4}%
}%
% poker sized regular index
\newcommand{\pkr@indexregular}{%
\renewcommand{\pkr@cxl}{-1.5}%
\renewcommand{\pkr@cxr}{1.5}%
\renewcommand{\pkr@cyt}{4.2}%
\renewcommand{\pkr@cyb}{0}%
\renewcommand{\pkr@fxl}{-1}%
\renewcommand{\pkr@fxr}{1}%
\renewcommand{\pkr@fyt}{3.7}%
\renewcommand{\pkr@fyb}{0.5}%
\renewcommand{\pkr@ph}{0.35}%
\renewcommand{\pkr@pw}{0.35}%
\renewcommand{\pkr@pvh}{0.35}%
\renewcommand{\pkr@pvw}{0.35}%
\renewcommand{\pkr@pxl}{-1.25}%
\renewcommand{\pkr@pxr}{1.25}%
\renewcommand{\pkr@pytv}{3.7}%
\renewcommand{\pkr@pyts}{3.6}%
\renewcommand{\pkr@pybs}{0.6}%
\renewcommand{\pkr@pybv}{0.5}%
\renewcommand{\pkr@sh}{0.4}%
\renewcommand{\pkr@sw}{0.4}%
\renewcommand{\pkr@sxl}{-0.5}%
\renewcommand{\pkr@sxm}{0}%
\renewcommand{\pkr@sxr}{0.5}%
\renewcommand{\pkr@syt}{3.1}%
\renewcommand{\pkr@sytiii}{2.7}%
\renewcommand{\pkr@sytii}{2.5}%
\renewcommand{\pkr@syti}{2.3}%
\renewcommand{\pkr@sym}{1.9}%
\renewcommand{\pkr@sybi}{1.9}%
\renewcommand{\pkr@sybii}{1.7}%
\renewcommand{\pkr@sybiii}{1.5}%
\renewcommand{\pkr@syb}{1.1}%
\renewcommand{\pkr@ish}{0.5}%
\renewcommand{\pkr@isw}{0.5}%
\renewcommand{\pkr@isxl}{-0.7}%
\renewcommand{\pkr@isxr}{0.7}%
\renewcommand{\pkr@isyt}{3.1}%
\renewcommand{\pkr@isyb}{1.1}%
\renewcommand{\pkr@ih}{3.2}%
\renewcommand{\pkr@iw}{2.0}%
\renewcommand{\pkr@iy}{0.5}%
\renewcommand{\pkr@kh}{0.2}%
\renewcommand{\pkr@kw}{0.35}%
\renewcommand{\pkr@kxl}{-1.35}%
\renewcommand{\pkr@kxr}{1.35}%
\renewcommand{\pkr@kyt}{3.8}%
\renewcommand{\pkr@kyb}{0.4}%
}%
%
% draw pair of cards
\newcommand\crdpair[2]{%
\begin{pspicture}(-1.7,-1)(2.7,4.6)
\rput[b](0,0){#1}%
\rput[b](1,-1){#2}%
\end{pspicture}
}%
%
% draw three overlapped cards
\newcommand\crdflop[3]{%
\begin{pspicture}(-1.7,0)(3.7,4.6)
\rput[b](0,0){#1}%
\rput[b](1,0){#2}%
\rput[b](2,0){#3}%
\end{pspicture}
}%
%
% presetting user keys to defaults
\psset[pst-poker]{inline=card,index=jumbo,corners=2,colorset=2c,
framebg=beige,back=simple,backcolor=blue,crdshadow=blurred}%
\psset{unit=5mm}%
%
\endinput