local p =
function p.dims return 12, 12end
function p.letters return end
p.pattern = '%w%w%w'
function p.image_board(size) return string.format('', 12 * size, 12 * size)end
function p.image_square(pc, row, col, size) local colornames = local piecenames = local symnames = local colchar = local color = mw.ustring.gsub(pc, '^.*(%w)(%w)(%w).*$', '%3') or local piece = mw.ustring.gsub(pc, '^.*(%w)(%w)(%w).*$', '%1%2') or local alt = colchar[col] .. row .. ' '
if colornames[color] and piecenames[piece] then alt = alt .. colornames[color][piecenames[piece]['gender']] .. ' ' .. piecenames[piece]['name'] else alt = alt .. (symnames[piece .. color] or piece .. ' ' .. color) end
fn =
if pc
'amd' then fn = 'Angle_Mover_(Chu_Hieroglyph)-opposite' elseif pc
'btd' then fn = 'Blind_Tiger_(Chu_Hieroglyph)-opposite' elseif pc
'cgd' then fn = 'Copper_General_(Chu_Hieroglyph)-opposite' elseif pc
'dhd' then fn = 'Dragon_Horse_(Chu_Hieroglyph)-opposite' elseif pc
'dkd' then fn = 'Dragon_King_(Chu_Hieroglyph)-opposite' elseif pc
'ded' then fn = 'Drunk_Elephant_(Chu_Hieroglyph)-opposite' elseif pc
'fld' then fn = 'Ferocious_Leopard_(Chu_Hieroglyph)-opposite' elseif pc
'fcd' then fn = 'Flying_Chariot_(Chu_Hieroglyph)-opposite' elseif pc
'fod' then fn = 'Flying_Ox_(Chu_Hieroglyph)-opposite' elseif pc
'fsd' then fn = 'Flying_Stag_(Chu_Hieroglyph)-opposite' elseif pc
'pnd' then fn = 'Foot_Soldier_(Chu_Hieroglyph)-opposite' elseif pc
'fbd' then fn = 'Free_Boar_(Chu_Hieroglyph)-opposite' elseif pc
'fkd' then fn = 'Free_King_(Chu_Hieroglyph)-opposite' elseif pc
'gbd' then fn = 'Go-Between_(Chu_Hieroglyph)-opposite' elseif pc
'ggd' then fn = 'Golden_General_(Chu_Hieroglyph)-opposite' elseif pc
'hfd' then fn = 'Horned_Falcon_(Chu_Hieroglyph)-opposite' elseif pc
'icd' then fn = 'Incense_Chariot_(Chu_Hieroglyph)-opposite' elseif pc
'jdd' then fn = 'Jade_General_(Chu_Hieroglyph)-opposite' elseif pc
'kgd' then fn = 'King_General_(Chu_Hieroglyph)-opposite' elseif pc
'knd' then fn = 'Kirin_(Chu_Hieroglyph)-opposite' elseif pc
'lnd' then fn = 'Lion_(Chu_Hieroglyph)-opposite' elseif pc
'pxd' then fn = 'Phoenix_(Chu_Hieroglyph)-opposite' elseif pc
'prd' then fn = 'Prince_(Chu_Hieroglyph)-opposite' elseif pc
'rcd' then fn = 'Reverse_Chariot_(Chu_Hieroglyph)-opposite' elseif pc
'smd' then fn = 'Side_Mover_(Chu_Hieroglyph)-opposite' elseif pc
'sgd' then fn = 'Silver_General_(Chu_Hieroglyph)-opposite' elseif pc
'sed' then fn = 'Soaring_Eagle_(Chu_Hieroglyph)-opposite' elseif pc
'tnd' then fn = 'Tokin_(Chu_Hieroglyph)-opposite' elseif pc
'vmd' then fn = 'Vertical_Mover_(Chu_Hieroglyph)-opposite' elseif pc
'wed' then fn = 'Whale_(Chu_Hieroglyph)-opposite' elseif pc
'whd' then fn = 'White_Horse_(Chu_Hieroglyph)-opposite' elseif pc
'iad' then fn = 'Angle_Mover_(Chu_Hieroglyph)-opposite-inverted' elseif pc
'ihd' then fn = 'Dragon_Horse_(Chu_Hieroglyph)-opposite-inverted' elseif pc
'idd' then fn = 'Dragon_King_(Chu_Hieroglyph)-opposite-inverted' elseif pc
'ied' then fn = 'Drunk_Elephant_(Chu_Hieroglyph)-opposite-inverted' elseif pc
'itd' then fn = 'Flying_Chariot_(Chu_Hieroglyph)-opposite-inverted' elseif pc
'ikd' then fn = 'Free_King_(Chu_Hieroglyph)-opposite-inverted' elseif pc
'ild' then fn = 'Lion_(Chu_Hieroglyph)-opposite-inverted' elseif pc
'isd' then fn = 'Side_Mover_(Chu_Hieroglyph)-opposite-inverted' elseif pc
'ivd' then fn = 'Vertical_Mover_(Chu_Hieroglyph)-opposite-inverted' end
return string.format('', fn, size, size, alt, alt)
end
return p