I can't answer for this one, but the laser printers used to have some fonts built in you could switch between, and it looks like it had tables, if the printed documentation is anything to go by.
It only appears to support fixed width text with super or subscript or double width text for emphasis. No sizing etc. And of course you aren’t going to be able to fit unicodes 65k+ characters in 16k of memory.
It supports text blocks for basic dtp purposes, but there are no commands for tables.
"And of course you aren’t going to be able to fit unicodes 65k+ characters in 16k of memory."
I'd love to see "Someone" do a breakdown on a modern "bloated" program, albeit something written in C or something (i.e., not "Electron") compared to an 8-bit program, with an eye to that sort of thing. Some of our "bloat" is understandable; you want at least some fraction of unicode. Variable-width fonts are nice. On a 64-bit machine, 64-bit words are fairly natural for numbers and that ends up taking up substantially more space than an 8-bit value, but it's definitely nice to not have things arbitrarily limited to 255 everywhere.
Something like a relatively barebones vi vs. The Write Stuff, or maybe nano or some other baby editor.