Jump to content

Module:Tree chart

Permanently protected module
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by The Mol Man (talk | contribs) at 17:37, 15 December 2014. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

local p = {}

local SLD = '1px solid black'
local DSH = '1px dashed black'
local DOT = '1px dotted black'

local cells = {
	['!'] = {
		b = { 	 },
		t = { { tag = 'td', attr = { rowspan = '2' }, style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '2em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['%'] = {
		b = { { tag = 'td', style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DSH, ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['\''] = {
		b = { { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = SLD, ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['('] = {
		b = { { tag = 'td', style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = SLD, ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	[')'] = {
		b = { { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { rowspan = '2' }, style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '2em' } }, { tag = 'td', style = { ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['*'] = {
		b = { { tag = 'td', style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DSH, ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['+'] = {
		b = { { tag = 'td', style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = SLD, ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } } }
			},
	[','] = {
		b = { { tag = 'td', style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['-'] = {
		b = { { tag = 'td', attr = { colspan = '2' }, style = { ['width'] = '2em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { colspan = '2' }, style = { ['border-bottom'] = SLD, ['width'] = '2em', ['height'] = '1em' } } }
			},
	['.'] = {
		b = { { tag = 'td', style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['7'] = {
		b = { { tag = 'td', style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	[':'] = {
		b = { 	 },
		t = { { tag = 'td', attr = { rowspan = '2' }, style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '2em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['A'] = {
		b = { { tag = 'td', attr = { colspan = '2' }, style = { ['width'] = '2em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DSH, ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['C'] = {
		b = { { tag = 'td', style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DSH, ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['D'] = {
		b = { { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { rowspan = '2' }, style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '2em' } }, { tag = 'td', style = { ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['F'] = {
		b = { { tag = 'td', style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['G'] = {
		b = { { tag = 'td', style = { ['border-right'] = DOT, ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DOT, ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['H'] = {
		b = { { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { rowspan = '2' }, style = { ['border-right'] = DOT, ['width'] = '1em', ['height'] = '2em' } }, { tag = 'td', style = { ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['J'] = {
		b = { { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DSH, ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['L'] = {
		b = { { tag = 'td', attr = { colspan = '2' }, style = { ['width'] = '2em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['M'] = {
		b = { { tag = 'td', style = { ['border-right'] = DOT, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { colspan = '2' }, style = { ['border-bottom'] = DOT, ['width'] = '2em', ['height'] = '1em' } } }
			},
	['P'] = {
		b = { { tag = 'td', attr = { colspan = '2' }, style = { ['width'] = '2em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { colspan = '2' }, style = { ['border-bottom'] = DOT, ['width'] = '2em', ['height'] = '1em' } } }
			},
	['Q'] = {
		b = { },
		t = { { tag = 'td', attr = { rowspan = '2' }, style = { ['border-right'] = DOT, ['width'] = '1em', ['height'] = '2em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['R'] = {
		b = { { tag = 'td', style = { ['border-right'] = DOT, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DOT, ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['S'] = {
		b = { { tag = 'td', style = { ['border-right'] = DOT, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['T3'] = {
		b = { { tag = 'td', style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['T'] = {
		b = { { tag = 'td', style = { ['border-right'] = DOT, ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['V'] = {
		b = { { tag = 'td', style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { colspan = '2' }, style = { ['border-bottom'] = DSH, ['width'] = '2em', ['height'] = '1em' } } }
			},
	['W'] = {
		b = { { tag = 'td', attr = { colspan = '2' }, style = { ['width'] = '2em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DOT, ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['Y'] = {
		b = { { tag = 'td', attr = { colspan = '2' }, style = { ['width'] = '2em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DOT, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['Z'] = {
		b = { { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DOT, ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['^'] = {
		b = { { tag = 'td', attr = { colspan = '2' }, style = { ['width'] = '2em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = SLD, ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['$'] = {
		b = { },
		t = { { tag = 'td', attr = { colspan = '2', rowspan = '2'}, style = { ['width'] = '2em', ['height'] = '2em' } } }
			},
	['`'] = {
		b = { { tag = 'td', attr = { colspan = '2' }, style = { ['width'] = '2em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['a2'] = {
		b = { { tag = 'td', style = { ['border-right'] = DOT, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DOT, ['border-bottom'] = '1px dashed #000001', ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['a'] = {
		b = { { tag = 'td', style = { ['border-right'] = DOT, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DOT, ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['b2'] = {
		b = { { tag = 'td', style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DSH, ['border-bottom'] = '1px dotted #000001', ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['b3'] = {
		b = { { tag = 'td', style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = SLD, ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['b'] = {
		b = { { tag = 'td', style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = SLD, ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['c'] = {
		b = { { tag = 'td', style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DSH, ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['d'] = {
		b = { { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { rowspan = '2' }, style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '2em' } }, { tag = 'td', style = { ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['e'] = {
		b = { { tag = 'td', style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = SLD, ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['f'] = {
		b = { { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { rowspan = '2' }, style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '2em' } }, { tag = 'td', style = { ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['h'] = {
		b = { { tag = 'td', attr = { colspan = '2' }, style = { ['width'] = '2em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = SLD, ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['i'] = {
		b = { { tag = 'td', attr = { colspan = '2' }, style = { ['width'] = '2em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DSH, ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['j'] = {
		b = { { tag = 'td', style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { colspan = '2' }, style = { ['border-bottom'] = SLD, ['width'] = '2em', ['height'] = '1em' } } }
			},
	['k2'] = {
		b = { { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { rowspan = '2' }, style = { ['border-right'] = DOT, ['width'] = '1em', ['height'] = '2em' } }, { tag = 'td', style = { ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['k3'] = {
		b = { { tag = 'td', style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['k'] = {
		b = { { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { rowspan = '2' }, style = { ['border-right'] = DOT, ['width'] = '1em', ['height'] = '2em' } }, { tag = 'td', style = { ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['l2'] = {
		b = { { tag = 'td', style = { ['border-right'] = DOT, ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DOT, ['border-bottom'] = '1px dashed #000001', ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['l3'] = {
		b = { { tag = 'td', style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = SLD, ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['l'] = {
		b = { { tag = 'td', style = { ['border-right'] = DOT, ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DOT, ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['m2'] = {
		b = { { tag = 'td', style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { colspan = '2' }, style = { ['border-bottom'] = DOT, ['width'] = '2em', ['height'] = '1em' } } }
			},
	['m'] = {
		b = { { tag = 'td', style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { colspan = '2' }, style = { ['border-bottom'] = DOT, ['width'] = '2em', ['height'] = '1em' } } }
			},
	['n2'] = {
		b = { { tag = 'td', attr = { colspan = '2' }, style = { ['width'] = '2em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DSH, ['border-bottom'] = '1px dotted #000001', ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['n'] = {
		b = { { tag = 'td', attr = { colspan = '2' }, style = { ['width'] = '2em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = SLD, ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['o2'] = {
		b = { { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { rowspan = '2' }, style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '2em' } }, { tag = 'td', style = { ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['o'] = {
		b = { { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { rowspan = '2' }, style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '2em' } }, { tag = 'td', style = { ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['p2'] = {
		b = { { tag = 'td', style = { ['border-right'] = DSH, ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DSH, ['border-bottom'] = '1px dotted #000001', ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['p'] = {
		b = { { tag = 'td', style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = SLD, ['border-bottom'] = DOT, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', attr = { rowspan = '2' }, style = { ['width'] = '1em', ['height'] = '2em' } } }
			},
	['q2'] = {
		b = { { tag = 'td', attr = { colspan = '2' }, style = { ['width'] = '2em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DOT, ['border-bottom'] = '1px dashed #000001', ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['q'] = {
		b = { { tag = 'td', attr = { colspan = '2' }, style = { ['width'] = '2em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = DOT, ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = SLD, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['r2'] = {
		b = { { tag = 'td', style = { ['border-right'] = DOT, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { colspan = '2' }, style = { ['border-bottom'] = DSH, ['width'] = '2em', ['height'] = '1em' } } }
			},
	['r'] = {
		b = { { tag = 'td', style = { ['border-right'] = DOT, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { colspan = '2' }, style = { ['border-bottom'] = SLD, ['width'] = '2em', ['height'] = '1em' } } }
			},
	['t'] = {
		b = { { tag = 'td', style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', style = { ['border-right'] = SLD, ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['border-bottom'] = DSH, ['width'] = '1em', ['height'] = '1em' } } }
			},
	['v'] = {
		b = { { tag = 'td', style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { colspan = '2' }, style = { ['border-bottom'] = SLD, ['width'] = '2em', ['height'] = '1em' } } }
			},
	['x'] = {
		b = { },
		t = { }
			},
	['y'] = {
		b = { { tag = 'td', style = { ['border-right'] = SLD, ['width'] = '1em', ['height'] = '1em' } }, { tag = 'td', style = { ['width'] = '1em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { colspan = '2' }, style = { ['border-bottom'] = DSH, ['width'] = '2em', ['height'] = '1em' } } }
			},
	['~'] = {
		b = { { tag = 'td', attr = { colspan = '2' }, style = { ['width'] = '2em', ['height'] = '1em' } } },
		t = { { tag = 'td', attr = { colspan = '2' }, style = { ['border-bottom'] = DSH, ['width'] = '2em', ['height'] = '1em' } } }
			}
}

function p.main(frame)
	local args = frame:getParent().args
	local cell_args = {}
	for i, v in ipairs(args) do
		local w = mw.text.trim(v)
		if not w:find('%S') then
			w = '$'
		end
		local cell_x = { }
		if cells[w] then
			cell_x.box = nil
			cell_x.name = w
		else
			cell_x.name = mw.text.trim(v)
			local args_v = args[cell_x.name]
			if args_v then
				cell_x.text = args_v
			else
				cell_x.text = '{{{'..w..'}}}'
			end
			cell_x.box = true
			cell_x.colspan = args['colspan_'..w] or args['colspan_ '..w] or args.colspan or '6'
			cell_x.rowspan = args['rowspan_'..w] or args['rowspan_ '..w] or args.rowspan or '2'
			cell_x.thick = args['border_'..w] or args['border_ '..w] or args.border or '2'
			cell_x.css = args['boxstyle_'..w] or args['boxstyle_ '..w] or args.boxstyle or ''
		end
		table.insert(cell_args,cell_x)
	end
	
	return p._main(cell_args)
end

function p._main(cell_args)
	local ret = mw.html.create('tr')
						:css({ ['height'] = '1px',
								['text-align'] = 'center' })
	local ret2 = mw.html.create('tr')
						:css({ ['height'] = '1px',
								['text-align'] = 'center' })
	for i, v in ipairs(cell_args) do
		if v.box then
			ret:node(make_box(v))
		else
			ret:node(make_cell(v.name.t))
			ret2:node(make_cell(v.name..'b'))
		end
	end
	return tostring(ret) .. tostring(ret2)
end

function make_cell(name)
	local props = cells[name]
	if not props then
		return
	end
	local ret = ''
	for i, v in ipairs(props) do
		ret = ret .. tostring(make_tag(v))
	end
	return ret
end

function make_tag(tbl)
	local ret = mw.html.create(tbl.tag,{selfClosing=true})
	if tbl.style then
		ret:css(tbl.style)
	end
	if tbl.attr then
		ret:attr(tbl.attr)
	end
	return ret
end

function make_box(tbl)
	local ret = mw.html.create('td')
			:attr('colspan',tbl.colspan)
			:attr('rowspan',tbl.rowspan)
			:css({ ['padding'] = '0.2em',
					['border'] = tbl.thick .. 'px solid black' })
			:cssText(tbl.css)
			:wikitext(tbl.text)
	return ret
end

return p