data:text/html,<body id=o onload="for(i=0x1f1e6;i<0x1F6FF;i++)if(i<0x1F200||i>0x1F2FF)o.innerHTML+=String.fromCodePoint(i)+' '">
data:text/html,<body id=o onload="for(i=0x2190;i<0x25BC;i++)o.innerHTML+=String.fromCodePoint(i)+' '">
data:text/html,<body id=o onload="for(i=0x2090;i<0x2BF0;i++)o.innerHTML+=String.fromCodePoint(i)+' '+i+'<br>'">
data:text/html,<body id=o onload="for(i=0x1f1e6;i<0x1F6FF;i++)if(i<0x1F200||i>0x1F2FF)o.innerHTML+=`<button onclick='p.value=this.innerHTML;p.select();document.execCommand\`copy\`;return 0'>${String.fromCodePoint(i)}</button> `"><input id=p style=width:0>
This stores the cards into an array if you want to use it.
data:text/html,<body id=o style=font:1in" onload="d=[];z=127137;for(i=z;i<z+64;i++){e=(i-z)%2516;if(e<14&&e!=11)d.push(String.fromCodePoint(i))}o.innerHTML=d.join``">
<table><tbody id=o></tbody></table>
<script>
s="0123456789ABCDEF";
r=c=>[c+c+c,c+"FF","FF"+c,"F"+c+"F",c+"00","00"+c,"0"+c+"0",
c+c+"F",c+c+"0",c+"0"+c,"F"+c+c,"0"+c+c,];
o.innerHTML = new Array(16).fill().map((_,i)=>`<tr>${r(s[i]).map(f=>`<td bgcolor=#${f}>#${f}</td>`).join``}</tr>`).join``;
</script>
data:text/html,<body onload="s='0123456789ABCDEF';r=c=>[c+c+c,c+'FF','FF'+c,'F'+c+'F',c+'00','00'+c,'0'+c+'0',c+c+'F',c+c+'0',c+'0'+c,'F'+c+c,'0'+c+c,];o.innerHTML = new Array(16).fill().map((_,i)=>`<tr>${r(s[i]).map(f=>`<td bgcolor=%23${f}>%23${f}</td>`).join``}</tr>`).join``"><table><tbody id=o>
<pre id=o></pre>
<script>
const getDeck = () => {
const cards = [];
const CHAR_CODE_START = 127137;
for (let i = CHAR_CODE_START; i < CHAR_CODE_START + 64; i++) {
const num = (i - CHAR_CODE_START) % 16;
const suitNum = ~~((i - CHAR_CODE_START) / 16);
if (num < 14 && num != 11) {
cards.push({
c: String.fromCodePoint(i),
s: "shdc"[suitNum],
n: num + (num > 13 ? 0 : 1),
});
}
}
return cards;
};
o.innerHTML = JSON.stringify(getDeck(), 0, 2);
</script>