Canvas, 1515 14 bytes
0c{«╷Cm±¹m±]/││0c[C²[j}¹m]/││
Note that while making this I added a couple built-ins (c
& C
) as Canvas somehow didn't have any built-ins for ASCII/unicode before...
Explanation (some characters have been replaced to look monospace):
0c push the charcode of "0" - 48
{ ] map over 1..48
«╷ C multiply bypush 2the &ASCII decrementcharacters
Cm²[ ] repeat moldby the ASCIIcounter characters(0-indexed)
to that length
j ± remove the last reversecharacter
¹m mold to the length of the counter
± reverse back
/ pad each line with spaces so it looks like a diagonal
││ palindromize the whole thing horizontally